Skip to content

TUI: split-view docs and page navigation (#78, #76)#82

Merged
deveshctl merged 3 commits into
mainfrom
feat/tui-tree-navigation-and-split-docs
Jul 16, 2026
Merged

TUI: split-view docs and page navigation (#78, #76)#82
deveshctl merged 3 commits into
mainfrom
feat/tui-tree-navigation-and-split-docs

Conversation

@deveshctl

Copy link
Copy Markdown
Owner

Two interactive-TUI improvements.

#76 — Page / half-page navigation

Large file trees were slow to traverse with only j/k line motion and g/G jump-to-end. Added vim-style paging:

  • Ctrl-d / Ctrl-u — half a screen down / up.
  • Ctrl-f / Ctrl-b (also PgDn / PgUp) — a full screen down / up.

Paging is cursor-based to match the existing g/G/j/k behaviour, and the step is derived from each pane's own visible height so it stays correct in the split view and after a resize. Works in both the file tree and the layers pane; on the layers pane a page jump changes the selected layer and resets the tree to follow. Documented in the README keybinding table and the in-app help overlay.

#78 — Document the split view (A)

The README described the A view as combining multiple layers into one virtual tree, which is not what it does — it misled at least one user into expecting a layer-vs-layer diff. The A view is a layer-against-its-own-history view: the selected layer's delta on top, the cumulative filesystem at that layer below, both driven by the layer selection in the layers pane.

  • Fixed the misleading feature bullet and sharpened the keybinding-table row.
  • Added a Split view (A) subsection to the README.
  • Added a dedicated docs/split-view.md guide: plain-language intro, a worked nginx example, a side-by-side table of what each pane computes, an explicit "what it is not" section, and the toggle's state behaviour. Notes that the key is A (Shift + a).

Testing

The layout-orientation toggle (#79) is intentionally not part of this PR — it needs its own branch and a deeper UX evaluation.

The feature bullet described the A view as combining multiple layers
into one virtual tree, which is not what it does and misled at least
one user into expecting a diff between two arbitrary layers. It is a
layer-against-its-own-history view: the selected layer's delta on top,
the cumulative filesystem at that layer below, both driven by the
layer selection.

Fix the misleading bullet, sharpen the keybinding-table row, and add a
Split view (A) subsection explaining what each half shows and how to
drive it from the layers pane.

Closes #78
The README section clears up the misconception but stays terse. Add a
standalone docs/split-view.md that explains the A view in plain
language first (top is the change, bottom is the result), then goes
deep: a worked nginx example, how Tab drives the layers pane and both
halves, a side-by-side table of what each pane computes, an explicit
'what it is not' section for the layer-vs-layer expectation, and the
toggle's state behaviour (filters carry over, cursor resets).

Note the key is A i.e. Shift+a, since users ask. Link the guide from
the README split-view section, matching how the other feature docs
are cross-referenced.

Refs #78
Large file trees were slow to traverse with only j/k line motion and
g/G jump-to-end. Add vim-style paging: Ctrl-d/Ctrl-u for half a screen
and Ctrl-f/Ctrl-b (plus PgDn/PgUp aliases) for a full screen.

Paging is cursor-based to match the existing g/G/j/k behaviour, and the
step is derived from each pane's own visible height so it stays correct
in the split view and after a resize. It works in both the file tree and
the layers pane; on the layers pane a page jump changes the selected
layer and resets the tree to follow, exactly as a single-step move does.

Closes #76
@deveshctl
deveshctl merged commit 32dbb30 into main Jul 16, 2026
57 of 58 checks passed
@deveshctl
deveshctl deleted the feat/tui-tree-navigation-and-split-docs branch July 16, 2026 07:57
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