Skip to content

feat(cli): Comprehensive UI/UX Overhaul & Alternate Screen Layout#30

Merged
arjun-vegeta merged 15 commits into
mainfrom
feature/cli-ux-overhaul
Jul 3, 2026
Merged

feat(cli): Comprehensive UI/UX Overhaul & Alternate Screen Layout#30
arjun-vegeta merged 15 commits into
mainfrom
feature/cli-ux-overhaul

Conversation

@arjun-vegeta

Copy link
Copy Markdown
Owner

Description

This PR implements a comprehensive overhaul of the Loopcode CLI's UI/UX to address positioning, overlapping, and scrolling issues present in the current terminal output. By moving away from native scrollback and implementing a managed viewport with an alternate screen buffer, the CLI now behaves like a true terminal IDE.

Key Features

  • Alternate Screen Buffer: Bound the CLI layout perfectly to the terminal window size to prevent layout breaking upon overflow.
  • Virtualized Scrolling: Implemented raw internal log scrolling using stdin mouse scroll intercepts.
  • Bracketed Paste Mode: Added full support for multi-line pastes, directly parsing \x1b[200~ escape sequences to prevent rendering stutter.
  • Large Prompt Squashing: Long prompt outputs are visually truncated in the chat UI to save vertical space.
  • AST-Cached Markdown Renderer: Introduced a fast-path Regex and abstract syntax tree caching to eliminate React reconciliation lag during fast scrolling.
  • Overlay Dialogs (Z-Index): The SessionPicker is now rendered as a true floating absolute-positioned overlay, pausing main input listeners properly to avoid conflicts.
  • Structured Diffs: Git patches are now cleanly parsed and rendered with line numbers visually similar to GitHub's PR viewer.
  • Visual Token Telemetry: The Status Bar now includes a dynamic budget progress bar.
  • Theming System: <ThemedBox> and <ThemedText> ensure a cohesive design language across the CLI.

Validation

All format, lint, typecheck, and unit test pipelines are fully passing.

@arjun-vegeta arjun-vegeta force-pushed the feature/cli-ux-overhaul branch from c8d3855 to 2880287 Compare July 3, 2026 11:16
@arjun-vegeta arjun-vegeta force-pushed the feature/cli-ux-overhaul branch 3 times, most recently from 408aa06 to 65da56f Compare July 3, 2026 11:23
@arjun-vegeta arjun-vegeta merged commit d552915 into main Jul 3, 2026
1 check passed
@arjun-vegeta arjun-vegeta deleted the feature/cli-ux-overhaul branch July 3, 2026 11:24
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