Commit Graph

16 Commits

Author SHA1 Message Date
NI0317
37a03df733 fix(ui): pin dock rows, verb labels on live tools, dedupe reject
Auto placement floated the new docks to the top of the main pane; every
dock now owns an explicit grid row (and the layout regression guards
them). Live tool rows use the streamed kind verb like persisted rows,
and the approval card's fallback reject is omitted when the request
already carries a reject option.
2026-07-20 10:58:21 +08:00
NI0317
d3ac437616 feat(ui): queue prompts, in-conversation approval cards, docked plan
Prompts submitted while a turn runs queue above the composer (edit,
remove, auto-send on completion; interruption or a failure pauses the
queue with an explicit resume). Permission requests and elicitations
route from the ACP client in main to renderer cards with the request
options — pending cards replay when the renderer reloads, replacing
the blocking OS dialogs. The task plan docks above the composer instead
of scrolling inside the thread, multi-line user bubbles trim their
padding lines, and a turn that ends abnormally shows an inline error
line in the transcript.
2026-07-20 10:46:00 +08:00
NI0317
91554b05f1 test(ui): cover seqless todo/write snapshots in the trace graph 2026-07-20 10:27:59 +08:00
NI0317
cdb5524632 feat(ui): render todo plans and streamed tool kinds in both views
todo/write events fold into plan targets: the chat transcript and
trajectory show a checklist card (done counts, active item), and live
ACP plan updates render the same card while the turn streams — the
task list was previously invisible on both paths. Tool rows label
themselves with the streamed ACP kind verb (read/edit/search/run…)
instead of a generic noun, and touched-file locations open in the OS
editor from the expanded row.
2026-07-20 10:25:11 +08:00
NI0317
7a5f0b0827 chore(ui): drop the Change Loop panel and detail-head status badge 2026-07-19 21:54:29 +08:00
NI0317
88544d9c1b fix(ui): keep live tool presentation after turn completion
Turn completion no longer force-scrolls the conversation: only a
session switch snaps to the bottom, so finishing a turn does not yank
the view while the user reads. ACP streams richer tool titles (for
example a workflow run's description) than the persisted tool/call
name; remember them per call id and keep rendering them in chat and
trajectory after the persisted trace replaces the live turn.
2026-07-19 21:50:19 +08:00
NI0317
e290545c97 docs(ui): add KV Cache effect fields to the desktop Model Experience 2026-07-19 21:48:22 +08:00
NI0317
c2fdfae170 feat(ui): open Develop artifacts in the OS editor
Develop stays read-first: each artifact whose source is a repository
path gains an Open in editor action routed through a path-validated
main-process handler (shell.openPath), instead of an in-app write path.
Persona and prompt-assembly sources open the governing cordis.yml or
source file directly.
2026-07-19 21:39:08 +08:00
NI0317
97df884937 fix(ui): align the sidebar rail and topbar controls on one geometry
Every sidebar section now shares the same horizontal inset, so the
primary action, module nav, search field, and session rows start and
end on identical lines with one control height and one radius. Topbar
controls share one row height, and the round send-button style no
longer leaks onto the cancel button.
2026-07-19 21:14:39 +08:00
NI0317
96076606df polish(ui): apply ui-skills audit across a11y, motion cost, and numerics
fixing-accessibility: expandable rows expose aria-expanded/controls, user
messages become keyboard-operable buttons, pane dividers and the composer
gain accessible names, the live status row announces politely, the busy
form sets aria-busy, feedback failures render inline next to the form,
and the muted/faint text tiers rise to AA-viable contrast.

fixing-motion-performance: composer autosize moves to CSS field-sizing
(dropping the per-keystroke measure/write cycle) and streaming scroll
writes coalesce per frame while direct user actions stay synchronous.

baseline-ui: data columns use tabular numerals, headings balance and
prose wraps pretty, and z-index joins the token scale.

improve-ui: straggler radii and control heights land on the declared
size scale (radius-xs joins the ramp).

fixing-metadata: the document language follows the active locale.
2026-07-19 11:32:07 +08:00
NI0317
74390bca0a fix(ui): never reuse a stale live-turn skeleton and poll lagging traces
A finished turn whose persisted JSONL had not flushed yet left the live
turn on screen; the next prompt then patched its content into the stale
skeleton, so the new message rendered under the previous user bubble.
Key each live turn and rebuild the skeleton on mismatch, and poll the
persisted trace after a lagging read so the conversation converges
without waiting for a user action. Module nav rows also collapse to one
line at the primary-action control height.
2026-07-19 11:22:48 +08:00
NI0317
de9190accc fix(ui): render the empty-state guide on first boot with no sessions 2026-07-19 11:10:21 +08:00
NI0317
c4584b5c19 feat(ui): rebuild desktop renderer on a shared trace graph and design tokens
Replace the full-innerHTML render loop with a static shell plus
per-region updates, so composer drafts, fold state, focus, and scroll
survive streaming turns. Fold session events into one trace graph
consumed by Chat, Trajectory, Waterfall, and the shared inspector
drawer, with live ACP updates patched into a keyed live-turn region.

Align the visual system with a tokenized design spec: a 4px spacing
base with fixed control/row height steps, foreground-derived text
tiers and borders (color-mix), neutral interaction overlays, tiered
motion durations with a reduced-motion collapse, hover-revealed
scrollbars, and drawer-aware layout elasticity. Localize trajectory
role chips and row previews.

The renderer entry (app.ts) joins the coverage exclude list as a
self-executing DOM bootstrap: jsdom lifecycle specs exercise its
behavior, and extractable logic lives in covered modules
(trace-graph.ts, renderer-content.ts).
2026-07-19 01:37:04 +08:00
NI0317
382708b1c0 chore(ui): satisfy desktop package gates 2026-07-18 17:44:12 +08:00
NI0317
2f37bbc61a feat(ui): refine desktop workbench navigation 2026-07-18 17:39:31 +08:00
NI0317
649183aa65 feat(ui): add desktop harness workbench 2026-07-18 17:05:46 +08:00