- AgentProgress splits its bar only for two steps or more; a task of one
step draws a plain bar
- test a_task_of_one_step_draws_before_and_after renders 0 of 1 and 1 of 1
- AgentStepList: an agent's steps down a data_display::Timeline rail,
marked by chat::step_mark, with detail and time
- AgentPlan: items waiting, at work or done, with a count; done items go
quiet and struck through
- chat::step_mark reads motion::changes: a check or cross that arrives pops
in, still on first paint
- AgentStatus: a pill for planning, working, waiting, done or failed
- AgentProgress: the step at work, done of total, the time so far and a
bar split by step; progress past its total fails loud
- SubAgentTree is lists::Tree with each agent's state as its note
- gallery: a plan the button advances, steps, statuses and a tree
- overlays::Dialog caps its card at the window, a title bar's height clear
at each end, and scrolls its body while heading and actions stay; the
fullscreen body scrolls too; test a_tall_dialog_keeps_its_actions_in_the_window
- ToolCallCard's tool name gives way with an Ellipsis, so time and chevron
stay in a narrow column; the gallery shows one at 280px
- the Agent script shuts the card it opened, so each theme's shot opens it
- AGENTS: dialogs fit the window
- ToolCallCard: a step mark, the tool in mono, what it touched and how long
it took; a press opens its arguments and result as code, an error in red
- ToolCallGroup folds several calls under one line
- ToolApprovalDialog over overlays::Dialog: Deny or Run, one answer; Escape,
the scrim and the close deny
- PermissionPrompt: deny, always allow or allow once, in place
- chat::StepState gains Failed; chat::step_mark draws a step's mark for
search steps and tool calls alike
- typography::format::took reads ms, seconds or minutes
- gallery: an Agent page with calls in each state, a group, the dialog and
the prompt