Patterns
Larger pieces assembled from the components, taken from the Polyther workspace and restated in the shared system. They follow the brand chosen at the top of the page.
Front desk
A greeting in the display face, a digest you can act on, and the widget grid. Rest the pointer on a tile's top-left corner and its icon becomes a handle: drag it, or focus it and use the arrow keys. A dragged tile lifts and follows the pointer, a well shows where it would land, the others glide out of the way and jiggle, and on release it settles from the speed it was let go at. Drag a tile's right edge to make it wider or narrower, or pick a width under More. The line at the top folds the whole overview away, from the bottom up, and back; in the product that line stands at the start of the top bar, in place of a breadcrumb (see Screens).
Grids and cards
Two grids on one set of measures: three columns that fold to two and one by the grid's own width, a 16 px gap, and one card surface (a fill, the 2xl corner, 20 px of padding). Which grid depends on who arranges it.
| Widget grid | Card grid | List | |
|---|---|---|---|
| For | A person's own view: tiles of different kinds they place and size | A collection of one kind of thing: workrooms, documents, plugins | Many things read in order: files, results, history |
| Who arranges | The person: drag by the handle, widen by the edge | The system: by a sort or a filter | The system |
| Card size | One to three columns, its own height | All one size; rows share a height | Full-width rows |
| Component | WidgetGrid, Widget | CardGrid, CardGridItem, Card | Item, ItemGroup |
Composer
Where a person writes to the assistant: one component for both products, so sending, stopping, attaching and picking a skill work the same everywhere. It floats on a shadow and stays docked at the bottom of the conversation, on an empty one too, so it is always in the same place.
Where things go
Each part of the composer answers one question. A new feature goes where its question belongs; something changed rarely goes inside a picker, not on the toolbar. Every picker on the toolbar has an icon, so the row can shrink to icons before anything has to move.
| Zone | Question | Holds | Shows |
|---|---|---|---|
| The context | What is it working with? | Chips above the text: the workroom, a document, a selection. Files sit under them. | Only when there is some. |
| The text | What do you want? | The message, with skills (/) and mentions (@) typed in place, and dictation arriving as text. | Always. |
| The toolbar, left | What goes in, and what should it do? | Attach, then three pickers side by side: mode (how freely it acts), output (an answer, a document, slides, a webpage) and brand. | Each picker shows an icon and its value. As the composer narrows the values give way and the icons stay: brand first, then output, then mode. |
| The toolbar, right | What runs it, and go. | Model and effort, talk, send or stop. | The effort gives way first, then the model's name; send never moves. |
| Sending | Enter sends; Shift+Enter breaks the line. Nothing sends mid-composition, while a file uploads, or with a failed file attached. The composer clears when it sends. |
| Answering | Send becomes stop. What is typed meanwhile is kept, and a line above the composer says what the assistant is doing. |
| Files | By the attach button, by dropping on the composer, or by pasting. Each is a chip with its state: uploading, done or failed, and why. |
| Skills and mentions | / at the start lists skills; @ lists people and places. Arrow keys choose, Enter or Tab takes one, Escape closes. |
| Output and brand | Two pickers beside the mode. Output says what comes back: an answer in the conversation, or a document, slides or a webpage. Brand starts on Any brand: the assistant follows the brand the message asks for, and uses the workspace's own when it names none. Choosing one from the list (the brands this person has in braaand) keeps the work to that brand. The compact composer has the same picker beside attach, as an icon. |
| Context | Chips above the text name what the assistant is working with. One the person added can be removed. |
| Talk | The mic dictates: it listens, the words arrive in the text to check and edit, and it stops on a second press or Escape. Speech is never sent by itself. |
| Approvals and warnings | Inside the composer, above the text: the answer is given where the message would be. |
| Mode and model | Mode is the first picker after attach: how much it does without asking, each option with a line saying what it means. Model is on the right: the models in their groups, each naming who serves it, with chips to narrow the list to some vendors or to private models, and the effort as named levels from faster to smarter, in one panel. A private model (no data kept) carries a shield in the list and on the button, and the panel says how it is private. |
| Place | Docked at the bottom (ComposerDock), at most 42 rem wide, the conversation fading out under it. It never moves to the middle of the screen. |
| Sizes | Full, with the toolbar. Compact, one row, for a panel beside a document. |
Workspace shell
Navigation in Geist at reading size, sentence case, with the active item marked by fill and an accent icon. Each thing is said once: the main places stand under the product's name with no heading over them, and one row at the foot says whose workspace this is and who is signed in, and opens the menu for both. The conversation scrolls; the composer stays docked under it.
Editor toolbar
Related tools sit in one tinted group; the active tool lifts onto its own surface and takes the accent. Every icon button has a tooltip and a label.