CommandPalette

The assistant's spotlight mode: one input that both searches the product and asks the AI, over a glass surface with the ambient identity in its edge and background.

Not separately installable: it ships inside the ambient layer.

Live

Open

At rest

Recent chats, suggestions from this page, and a counted hint of everything registered — what it can do, said before you type.

Navigation intent

A short query reads as navigation: matching components, documents, demos and form factors rank first, capped per section.

Question intent

Four-plus words, a leading interrogative, or a trailing ? reads as a question — “Ask ambientui” takes the top row.

Asked through

Selecting the ask row runs the real pipeline: the palette hands off, and the answer arrives as components.

Or press ⌘K anywhere — the palette is global. Inside it: ↑↓ cross section boundaries, runs the row, and Esc clears the query before it ever closes the surface.

Behavior

  • ·⌘K opens it from anywhere and toggles it closed; Esc clears the query first, then closes — so a mistyped search never costs the surface.
  • ·One input, two intents: the query is read as a QUESTION (4+ words, a leading interrogative, or a trailing ?) or as navigation. Questions put "Ask ambientui" first; anything else ranks matching pages.
  • ·Sections are a flat, keyboard-navigable model — Recent chats, Suggested for this page, Jump to — with ↑↓ moving across section boundaries and ↵ running the selected row.
  • ·WHAT IT CAN DO IS REGISTERED BY THE APP (see CommandRegistry): components, documentation, demos and the assistant's own form factors, each with a `run` the palette calls without knowing what it means. That is the context-chip contract pointed the other way — a surface hands the layer a chip, the app hands it a command — and it is why the palette can reach a product the layer knows nothing about. The lists are DERIVED from the registry that documents them, so a command for something that does not exist is impossible to write.
  • ·Matches are CAPPED PER SECTION, not overall: one cap across the whole list let the first family spend the entire budget, so forty components matching "panel" pushed Switch form off the end — the one command the word most obviously meant was the one you could not reach.
  • ·AT REST IT SAYS WHAT IT CAN DO. Switch form shows in full because five rows are small enough and always relevant; the big families are advertised by a counted hint ("50 components, 10 documents, 5 demos") derived from what is actually registered. A capability nobody can see is one that does not exist as far as the user is concerned — and a hint written by hand would outlive the family it describes.
  • ·WHAT IT OFFERS COMES FROM THE PAGE. setPageIntel supplies the suggestions, the recents, where "Jump to" goes, and the input's own invitation; pages that stay quiet get the app-wide defaults. The dev tool publishes its LIVE problem inventory there, so every suggestion is a question one of its errors deserves — and a problem that gets fixed leaves the palette, because the list is derived from workspace state rather than written twice.
  • ·A page with its own workspace takes over "Jump to" entirely: inside the dev tool it lists open files, each subtitled with its actual problem, instead of the app's routes.
  • ·The page's own context rides along as a chip in the header band; right-clicking anything on the page attaches it as another chip.
  • ·A chip may carry its own `icon`: every page is kind "page", which is too coarse to tell an editor from a colour map, and the page is the only thing that knows which. Omitted, the kind's icon stands in. Sparkles is never one of them — in this system that mark means the assistant, and a chip is what the assistant can SEE, not the assistant itself.
  • ·Asking transitions the surface in place into the AI Overview — the answer arrives where the question was asked, with a follow-up form replacing the search input.
  • ·A glass-tinted scrim dims the product behind it — the scrim token with a whisper of backdrop blur — so the palette reads as the hero of the moment while the page stays legible through the veil.
  • ·Ambient state is live: typing a question turns the layer to listening before send; the border and background field follow.
  • ·Selection and keycaps use the neutral glass wash, not the accent — on glass, accent marks actions, not focus position.
  • ·Dragging the floating panel to the top-center zone becomes this mode; dragging out of it returns to a panel.

When to use

  • ·The product's primary entry point for both finding and asking — one keystroke from anywhere.
  • ·When the answer and the destination are the same question: "where is X" and "what is X" resolve in one surface.

When not to

  • ·A conversation the user wants to keep while working — that's the panel or dock; the palette is for a single exchange.
  • ·Scoped search inside a page's own data — a local filter belongs in the page, not in the global palette.
  • ·Confirming or undoing an action — use a toast or the save reminder.