Skip to content

fix(sidebar): one tree rail for both child kinds - #491

Open
theogravity wants to merge 1 commit into
mainfrom
fix/sidebar-tree-align
Open

theogravity wants to merge 1 commit into
mainfrom
fix/sidebar-tree-align

Conversation

@theogravity

Copy link
Copy Markdown
Contributor

What

A pane that has both created helper subshells and reported harness subagents drew two tree rails. The helper rows hung off the section's ml-5 border-l with short connector ticks, while the roster rows carried their own ml-4 line, per-row rail spans, long elbows, and a different content indent. Mixed lists read as two trees bolted together (Theo's screenshot).

Fix

HarnessSubagentRows now renders with the exact geometry the helper-subshell section uses: ml-5 border-l pl-2 container plus a before:-left-2 before:w-2 tick per row. The row button pads pl-3 and the dot-to-name gap is gap-x-2, matching the child row's link, so status dots and names share one x across both kinds.

Measured on a live stack: before, rails sat at 28 vs 32 with 12px vs 8px elbows and dots 8px apart; after, rails, elbows, dots, and names are pixel-identical.

Verification

  • bun run test:changed -- --unit: 3194 pass (server-web)
  • bun run verify:changed: all affected builds/type checks, e2e 97 passed / 5 skipped
  • bun run lint:design: clean
  • Visual: seeded a parent pane with two helper children and a three-agent roster on a throwaway stack, screenshotted the mixed expansion before/after

Harness subagent rows hung off their own ml-4 rail with per-row rail
spans and long elbows, while helper-subshell children used the section's
ml-5 border-l with short connector ticks. A pane that reports both
drew two rails and mismatched indents. Render the roster rows with the
section's geometry, and match the child row's pl-3 and column gap so
dots and names share one x.
@theogravity

Copy link
Copy Markdown
Contributor Author

Code review round 1: zero MAJOR, zero MINOR. Two NITs left open on purpose: the 2px rail seam at the helpers-to-roster junction is in family with the existing breaks between tree sections, and the switch-error line riding the rail only exists on the failed-switch path.

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