The resting state: the assistant is on the page, watching nothing, costing nothing. It is the only mode with no surface — the character alone, docked at one of eight anchors.
The orb's own expanded form: clicking grows an input out of the character, sharing its glass and its live border. It opens IN the zone the orb is docked to — centered on that anchor rather than hanging off the orb's edge, and clamped into the content region so a corner never pushes it off-screen. The orb keeps its side: docked right, it becomes the right end of the form and the input extends leftward. A question costs no surface, no travel, and no mode change until there is an answer to hold.
A floating, draggable window — the only mode that persists while you work. Answers accumulate; the transcript is the point.
The panel, anchored full-height to the edge. Same conversation, but the page reflows around it instead of being covered — for work done with the assistant rather than in it.
The command palette: one input that searches the product and asks the AI, centered and global. Documented in full under CommandPalette.
The only mode that takes the whole screen, because it is the only one that is not about a single answer. The other four are sized to how much attention one exchange deserves; this one answers a different question — what have I asked here — and that is the question that legitimately wants the room. It stays translucent over the product rather than navigating away, because the work you were doing is the reason you opened the record. The conversation you are currently having appears in the list too, marked open and shimmering while it runs: a record that omitted the session on screen would be the strangest possible omission. Picking any row opens it IN PLACE — the record is somewhere you can work, not a launcher that ejects you — and asks the question again rather than restoring a transcript, which is what the layer can honestly offer today.
Each frame holds a real assistant, in that form, that you can type into — not a picture of one. They are scoped to their frames, which is why five can sit on one page at once.
There is no mode menu, and there should never be one. Moving the surface is choosing its form: drag the panel to the right edge to dock it, to the top-center to become the palette, anywhere else to float. Zones appear only while dragging, so the affordance exists exactly when it is relevant.
This is the ambient layer's core interaction claim: the user positions the assistant, and the position states the intent. Docking says "stay beside my work." Centering says "I'm asking one thing." Dropping it loose says "keep this conversation, out of my way."
Opening never relocates the assistant. A form appears where the user last put it: quick ask opens in the orb's own zone, the panel opens where it was left, the dock stays on its edge. Only the palette is deliberately global, because it is summoned by a key rather than by touching a surface.
Within its zone, a form centers on the anchor rather than hanging off the object that opened it, and clamps into the content region — so a corner-docked orb still produces a form that reads as placed, not as spilling off the edge.
Direction follows the side: an assistant docked right opens leftward and vice versa. The character stays put; the surface grows away from the nearest edge.
One conversation. Modes are geometry, not sessions — asking in the bar, continuing in the panel, and docking it are one thread throughout.
One context. Pages declare what they are about, and the current page rides along as a chip in whichever surface is open; right-clicking anything attaches it as another.
One identity. The orb's four states drive every surface at once — the character, the comet in the border, the heat field behind the glass, and the marks that sign each answer.
One glass. Every surface wears the same recipe (see Translucency), and no ambient surface defines its own blur or tint.
One set of objects. Whatever the form, an exchange renders as a MessagePair — UserMessage above, the answer below, its text arriving through StreamingText and its grounding shown as ReferenceChips. A form factor decides where the conversation sits and how big it is; it never decides what a message looks like.
These are the whole surface vocabulary of the ambient layer (DESIGN.md §8). Another one is a governance event, not a feature: if a use case doesn't fit, the question is which existing form it belongs to, and only then whether the vocabulary should grow.
Quick ask is the orb's state, not a sixth mode. The machine still has five modes; hovering expands the resting form in place rather than switching to a new one. That is the rule for growth here — extend a form before adding one, and only add when the new surface would have its own lifecycle.
Two standing prohibitions, both from decisions already made: no glow effects on any ambient surface, and no mode may introduce a blur, tint, or motion timing of its own — glass comes from the recipe, timing from the motion roles.