mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-10-09 00:49:41 +02:00
feat(tabs): draw every lineage family, emphasize the selected tab's
Drawing only the selected tab's family hid every other connection until you clicked into one. All families are drawn again (still as routed trees); the selected tab's families (what it spawned, and the family it was spawned into) get .lineage-family--focus: 2.5px instead of 1.5px, full opacity instead of 0.75, a larger end dot, and drawn last so nothing covers them. Lanes follow strip order (cycling through CodemanLineage.MAX_LANES, 3), never the selection, so a family's lines never move when you click a tab. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -89,7 +89,7 @@ every session or only the active tab.
|
||||
| Vertical Rail Order | *By activity* (default) sorts the rail the way the home screens are sorted; *Manual* keeps your tab order and drag-reordering. |
|
||||
| Tall Tabs | Taller tab strip. |
|
||||
| Pop-out Button on Tabs | Adds the detach control to tabs, with a per-tab override. |
|
||||
| Spawn Lineage Lines | Lines from the selected tab to the sessions it spawned, and to the one that spawned it. Desktop only, on by default. |
|
||||
| Spawn Lineage Lines | Lines from each tab to the sessions it spawned; the selected tab's family is drawn thicker. Desktop only, on by default. |
|
||||
| Auto-name Sessions | Titles a new tab after its first prompt, keeping the case prefix (`w3-myapp: fix the login redirect`). Synced, off by default. See [The Dashboard](The-Dashboard#automatic-session-names). |
|
||||
| Overview Home Screen | The phone home screen. On by default. |
|
||||
|
||||
|
||||
@@ -86,10 +86,11 @@ scrolled into view. It is not reordered to the front, so the `Alt+N` numbering s
|
||||
|
||||
### Lineage lines
|
||||
|
||||
When one session spawns another (an agent starting a worker through the API), selecting
|
||||
either tab draws its family: lines from the parent to each child, in the parent's colour,
|
||||
routed through the gaps between tab rows so they never cover a tab or the terminal. A dashed
|
||||
branch means that child is working. It is how a fan-out of eight workers stays readable.
|
||||
When one session spawns another (an agent starting a worker through the API), Codeman draws
|
||||
lines from the parent to each child, in the parent's colour, routed through the gaps between
|
||||
tab rows so they never cover a tab or the terminal. Every family is always shown; selecting
|
||||
a tab draws its own family thicker and brighter. A dashed branch means that child is
|
||||
working. It is how a fan-out of eight workers stays readable.
|
||||
|
||||
While any tab has spawned another, the strip keeps a little extra room between rows for the
|
||||
lines, so switching tabs never changes the header height.
|
||||
|
||||
@@ -24,13 +24,14 @@ eight workers looks like a stalled terminal for several minutes.
|
||||
|
||||
## Session lineage lines
|
||||
|
||||
Select a tab and the tab strip draws lines from it to every tab it spawned, and to the tab
|
||||
that spawned it (with its siblings). That covers the other direction of fan-out: not
|
||||
subagents inside one session, but whole sessions started by an agent through the API.
|
||||
The tab strip draws lines from every tab to the tabs it spawned. That covers the other
|
||||
direction of fan-out: not subagents inside one session, but whole sessions started by an
|
||||
agent through the API.
|
||||
|
||||
The lines form one tree per spawning tab, in that tab's colour, and run only through the
|
||||
gaps between tab rows, so they never cover a tab name or the terminal. A dashed branch
|
||||
means that child is working. Tabs with no lineage draw nothing.
|
||||
gaps between tab rows, so they never cover a tab name or the terminal. Select a tab and its
|
||||
family (the tabs it spawned, or its parent and siblings) is drawn thicker and brighter. A
|
||||
dashed branch means that child is working.
|
||||
|
||||
Desktop only, on by default, and toggled in **App Settings → Appearance**. Lines are skipped
|
||||
for tabs scrolled out of view.
|
||||
|
||||
Reference in New Issue
Block a user