Neela Dock — launcher, panel shell and activity states

The built canon for Neela in the signed-in app, redrawn from components/neela/NeelaDock.tsx, NeelaActivityMark.tsx, ui/NeelaAvatarDisc.tsx, ui/NeelaMark.tsx, the docked mode of chat/ChatInterface.tsx, chat/NeelaBubbleRow.tsx and chat/surfaceConfig.ts. Every colour is a tokens.css token, so the theme switch shows both themes of the same markup. This replaces the earlier concept board (header avatar, ambient orb and pill launcher concepts), which the shipped dock superseded.

A · Launcher

Collapsed dock tab and phone launcher

On desktop Neela is not a floating button. With the dock closed it is a 40 px tab that runs the full height of the viewport beside the page, with the small activity mark aligned to the page header and the word Neela set vertically. On a phone the launcher is an outline pill fixed above the bottom navigation. Both carry the accessible name Open Neela.

Desktop, dock closed
Exchange overview

Sticky, full viewport height, 40 px wide. A file dragged onto the tab opens the dock and starts document intake.

Phone, sheet closed
Exchange overview

44 px outline pill with the surface fill and --app-shadow, 16 px from the right edge, above the bottom navigation.

B · Panel shell

Open dock beside the page

The dock is an aside labelled Neela that pushes the page instead of covering it. It opens at 380 px and resizes from its left edge between 320 and 600 px, by pointer drag or the arrow keys on the focused grip. Escape collapses it back to the tab. From top to bottom: the header band, the scope row that says what Neela sees, the exchange brief when an exchange is in scope, the conversation, and the ask bar.

Exchanger, exchange in scope, mid-conversation
Exchange overview
Exchanger, no exchange yet, empty conversation

Docked mode has no centred greeting disc: the greeting sits top-left and exchanger prompts render as a full-width list. Operator surfaces render their prompts as wrapping chips.

The header band is --neela-header-field: the brand teal band with a white title in light, a card-coloured band in dark. Inside the dock the surface, line and muted-ink tokens are re-pointed at the --neela-card family, so every card, chip and input reads as one material.

C · Activity

Header activity mark

One mark carries Neela's state; there is no separate status pill or hero orb. The mark sits on its avatar disc (mint in light, sapphire in dark, never on teal) and changes variant, ring and level bars with the activity. Reduced motion stops the orbit, the blink, the pulse and the scale.

Idle

Slow orbit and an occasional blink.

Listening

Action-colour ring with a soft pulse while the mic is open.

Thinking

Fast orbit, a third moon and narrowed eyes.

Speaking

Scale and five level bars follow the voice amplitude.

Done

Closed-eye smile and the check moon.

D · Phone

Full-height sheet

On a phone the same panel body opens in a full-height bottom sheet. The header leaves room on the right for the sheet's own close button, there is no collapse control or resize grip, and the attach control offers the camera or a file.

E · Surfaces

One dock, four signed-in surfaces

Every signed-in shell mounts the same dock through NeelaWorkspace. The header always reads Neela; the surface changes the greeting, the starter prompts, the widest scope option and whether voice starts on.

Surface Greeting Starter prompts Widest scope Voice at start
Exchanger Ask about your deadlines, documents, or next step. Start an exchange · What's my deadline? · Check my docs · Propose a property Everything with you On
QI Ops Ask across the exchanges in your book. Which exchanges have day 45 inside 10 days? · Which disbursements wait on a second officer? · What arrived since yesterday? Your book Off
QI Hub Exchanges, deadlines, and document status. Deadline exposure · Document status · Exchange progress Your book Off
Platform admin Exchanges, KYC, countersignatures, and deadlines. Rank by deadline · KYC pending · Doc backlog Everything with you Off

Every surface also offers This page, and This exchange and This document once an exchange is open. The public marketing site and the website embed widget use their own launchers (PublicChatLauncher and surfaces/neela-embed-widget.html) and are out of scope for this page.