Skip to content

desktop: Soft Tactile window shell — floating sidebar, inspector, console drawer, download strip - #441

Open
plombeer31 wants to merge 2 commits into
facelift/1-foundationfrom
facelift/2-shell
Open

plombeer31 wants to merge 2 commits into
facelift/1-foundationfrom
facelift/2-shell

Conversation

@plombeer31

Copy link
Copy Markdown
Collaborator

Part of the Soft Tactile desktop redesign. Depends on #440 (base branch facelift/1-foundation); every region PR can merge in any order after it. The integrated build is facelift/integration.

Soft Tactile, window shell (SH-01…09, SH-17, CH-23). Builds on the foundation PR.

What changes

  • Toolbar: --well ground, 32px round toggles (on = soft blue tint), "Chat" and the session line on one baseline, a lifted Search pill with one ⌘K keycap. The Electron drag region and the 96px traffic-light gutter stay.
  • Sidebar: a floating --lift panel (radius 16, soft shadow) with the workspace chip as a well pill, sentence-case "Tasks · N running · +" and "Chats · +" headers, 34px pill rows. Task rows show their schedule or status word in mono.
  • Dots: running pulses brand, waiting for approval and blocked are amber, failed is red, unread is filled brand, read is a hollow ring. chatDot/taskDot gain a third tone element; the first two and every branch are unchanged.
  • Settings entry: a neutral full-width button with gear, word and ⌘, keycap, as in the reference. This reverses the r5 item 8 wording ("no keycap hint, no second icon") — say if the plain button should stay.
  • Rail and minimum window: dots, the two pluses and the gear; at 940×620 the inspector hides and the sidebar is a rail.
  • Inspector: a floating 292px panel, full-width segmented Steps / Reasoning / World, 38px mono step rows with a spinner on the running one, Reasoning as step labels over wells, World as a plate.
  • Console: a floating drawer with Agent log / LLM log, a neutral Write Debug Bundle ⌥⌘D button and real empty states (the LLM log says this build does not record model requests there).
  • Download strip: a lifted pill with icon, mono model id, progress bar, %, ETA, "N more queued" and Cancel; only the bar, % and ETA repaint per sample.

Tests

  • Smoke: the sidebar row height check is 34px, and the Settings button check expects one keycap and a visible gear.

Verified

  • Trusted-input driver: every geometry value the smoke reads (row 34px, 6px dots on the label centre, pluses on one edge, 260px open / 52px rail), Settings opens and closes, + starts a chat, hover reveals unread, a step click flashes its card, all inspector and console tabs, strip Cancel with hover held across progress frames.
  • Smoke on the merged build: same 4 known failures as a0811bc3.
  • model-picks.drive.mjs: its 6 red checks are the same on the foundation commit (Settings › LLM › Local).

… drawer, download strip

Window ground is --well. Toolbar: 32px round toggles, "Chat" with the
session line on one baseline, a lifted Search pill with one ⌘K keycap.

Sidebar is a floating --lift panel (radius 16, 8px from the window edge)
painted by #sidebar::before, so #sidebar keeps its 260px / 52px box.
Workspace chip on the well with the app mark laid over it. Sentence-case
group headers, 34px pill rows, 6px status dots with amber (waiting for
approval, blocked) and red (failed) tones from a third, presentation-only
element of chatDot/taskDot. Task rows show their schedule or status word
in mono through data-m. Settings is a full-width neutral button with the
gear, the word and a ⌘, keycap; the rail keeps the gear alone. Rail and
the ≤1000px layout: mark, pluses, dots, gear, a hairline between lists.

Inspector is a floating 292px panel with a full-width segmented control;
steps are 38px mono rows with a spinner for the running step; reasoning is
a labelled mono well per step; World is a label-over-value data plate.

Console is a floating drawer with a neutral Write Debug Bundle button, a
labelled close, amber warn and red error levels, and real empty states
(the LLM log says this build does not record model requests there).

Download strip is a lifted pill under the toolbar: icon, mono id, a
.tk-prog fill whose width is the only thing repainted per sample, percent,
ETA, queue, ghost Cancel. dlBarHTML is unchanged for the wizard.
Two presentation checks encoded the 0.5.5 sidebar:
- sidebar rows are 34px pills now (was 30px);
- the Settings entry is a neutral full-width button with the gear, the
  word and one ⌘, keycap, 36px tall and 236px wide inside the floating
  panel (was no keycap, no icon, 32x235).
Everything else the shell checks read (260/52px sidebar box, centred rail
pluses, 6px dot ring and its seat, the unread reveal rule, the drag
region, the strip text) is unchanged.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant