fix(tui): restore the dag inspector's own structure, keep only the vocabulary - #138
Merged
Conversation
…cabulary The previous revision transplanted chat's structure instead of learning its design language. Three chat-specific structures were imported and are now removed: - The 42-wide right sidebar. In chat that container holds ambient session metadata; here it held the workflow list, which is primary navigation. - The > 120 width gate that came with it. A threshold designed for optional metadata made primary navigation vanish on narrow terminals; the earlier "responsive" fix copied chat's breakpoint and entrenched the mistake instead of questioning the transplant. - The SplitBorder rail-and-panel block. In chat that marks one utterance in a stream; the workflow summary is persistent state, not an utterance. Structure now comes from what this screen actually is, a full-screen inspector: title row, always-present navigation pane, content pane, detail pane, footer. Navigation width is derived from the pane's own needs, clamp(18, 32, width * 0.3), so it narrows instead of disappearing. Only the vocabulary is borrowed: regions are marked by the panel surface plus a padding rhythm rather than drawn box characters (which also settles the original misaligned-rule complaint), token semantics for text/textMuted/ backgroundElement/primary, and bold reserved for identity and section headers. The width regression test now asserts the inverse invariant: the workflow list is present at 130, 100 and 70 columns.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The previous revision (#137) transplanted chat's structure instead of learning its design language. This PR keeps the vocabulary and gives the inspector its own structure back.
What was wrongly imported
backgroundPanelwidth > 120gateSplitBorderrail-and-panel blockThe tell was the symptom: the workflow list disappearing below 120 columns. #137 treated that as "responsive not implemented" and copied chat's breakpoint to fix it, entrenching the transplant rather than questioning it. Primary navigation should not have a "disappeared" state at all.
Structure now derives from what this screen is
A full-screen inspector: title row → always-present navigation pane → content pane → detail pane → footer. Navigation width is
clamp(18, 32, width * 0.3), derived from the pane's own needs, so it narrows instead of disappearing:Only the vocabulary is borrowed
textbody,textMutedmetadata,backgroundElementsecondary selection,primary+selectedForeground()for the cursor, status colours for stateDAG) and section headers (wave N); body and metadata never boldKept from #137: cursor-key convergence (
↑↓nodes,←→workflows,return,escape), the selection colour layering, the empty-state guidance, and the tightened lint ratchet.Test plan
tsgo --noEmitclean;prettier --checkcleanoxlinton the changed component: 0 warnings