DRYL COMPONENTS
Color mode: System — switch to light
2.20.1
Agents

Canvas Dock

AI-aware

DrylCanvasDock is the canvas's command bar: a floating card in the corner with one input, one line of live status — and the transcript only on demand.

Why it is not a chat

In a line-of-business app the artifact is the answer, not the text beside it. A chat column would spend half the surface on sentences nobody reads once the dashboard is up. So the dock shows exactly one status line from the run ("Building · 7 elements", "Ready", or the error) and keeps your eyes on the canvas.

Your app supplies the transcript. The <Log> slot takes your own DrylMessage elements — the dock brings no second message model. Unfolded, the area grows through the same 0fr → 1fr mechanic as DrylToolCallGroup, so nothing is ever squeezed.

It anchors to the viewport, not to the card. A position: fixed element measures itself against the nearest ancestor with transform or backdrop-filter — in a real app almost always some glass card. The dock is therefore lifted into the browser's top layer via popover="manual"; without JavaScript (prerender) it stays an ordinary fixed element.

razor
<DrylCanvasDock Run="_run" Busy="Busy" OnSend="Send"
                Corner="DockCorner.BottomRight" Title="Builder"
                Placeholder="Ask for a view…">
    <Log>
        @foreach (var turn in _turns)
        {
            <DrylMessage Role="MessageRole.User" Author="You">@turn.Text</DrylMessage>
        }
    </Log>
</DrylCanvasDock>

The dock on a workspace

The same example as on the workspace page — here the dock in the bottom right is the lead: type a view (&quot;Overview&quot;, &quot;Order 4711&quot;, &quot;Returns&quot;) and watch the status line while the artifact streams. The arrow unfolds the transcript; the minimise button shrinks the dock down to a single button.

No view yet
Ask for a view below — &quot;Overview&quot;, for example.
Overview Order 4711 Returns — ask for one of these below; the previous view stays in the bar.
AI
Idle
An unhandled error has occurred. Reload x

Reconnecting to the server…

Attempt /

Next try in s