Skip to content
This repository was archived by the owner on Feb 12, 2026. It is now read-only.

feat:(basectl): More misc tui improvements#46

Merged
danyalprout merged 10 commits intomainfrom
basectl-tui-improvements
Feb 12, 2026
Merged

feat:(basectl): More misc tui improvements#46
danyalprout merged 10 commits intomainfrom
basectl-tui-improvements

Conversation

@BrianBland
Copy link
Contributor

@BrianBland BrianBland commented Feb 12, 2026

  • Calculate DA target usage based on L1 block times (up to 10), not elapsed time
  • Use continuous color grading for DA target consumption (yellow at 100%)
  • Support scrollable tables with vim nav (g/G)
  • Add new gas usage bar spanning up to 30 blocks
  • Improve rendering of the flashblock-level gas usage bars, using left-aligned pipe for target and variable color grading
  • Color-code flashblock rows by L2 block
  • Backfill L1 block gaps if websocket drops messages
  • Add toast notification on block num copy
  • Reorganize stats panel
image

BrianBland and others added 5 commits February 11, 2026 15:08
Replace time-based RateTracker (total_blob_tracker, base_blob_tracker) with block-window-based functions that compute DA usage from the last N L1 blocks. Add continuous color gradient for L1 DA usage %: blue (0%) → yellow (100%) → red (150%). Convert render_l1_blocks_table to use TableState for scrollable rows.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…nter and DA monitor

Replace usize row tracking with TableState for all table panels, enabling proper scrolling beyond visible area. Add g/G vim bindings for jump to top/bottom. Clone TableState before render_stateful_widget to prevent ratatui from resetting selection on empty tables. Add toast notification on block copy.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Track the last processed L1 block number during websocket streaming. When a new block header arrives, fetch and process any missed blocks between the last processed block and the current one before handling the current block.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Show an info toast when a block number is copied to clipboard via the y keybinding. Add ToastState::push() to allow views to create toasts directly without needing a channel sender.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…helpers

Extract magic numbers into named constants (TARGET_USAGE_MAX, FLASHBLOCK_TARGET_MS, FLASHBLOCK_TOLERANCE_MS). Replace backlog_size_color if-else chain with threshold table lookup. Add lerp_rgb helper for gradient interpolation.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
@cb-heimdall
Copy link
Collaborator

cb-heimdall commented Feb 12, 2026

✅ Heimdall Review Status

Requirement Status More Info
Reviews 1/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1

@BrianBland BrianBland force-pushed the basectl-tui-improvements branch from 8fb8d37 to 9535e93 Compare February 12, 2026 00:13
… color grading

Add top-level gas usage bar showing cumulative gas across last 30 L2 blocks
with piecewise scaling, per-block coloring, and target percentage readout.
Per-row gas bars use sub-character precision with left-aligned target marker
and progressive warm-to-hot gradient beyond target. Block numbers in
flashblocks views use a 24-color rotating palette with bold/bright for
index-0 entries.
Reorder stats panel: Flash/Missed/Up-Down on line 1, DA/L1/Base/Last on
line 2. Fix needless_pass_by_ref_mut warnings by changing table_state
parameters to shared references. Hoist inner use imports to top-level in
command_center.
refcell
refcell previously approved these changes Feb 12, 2026
mw2000 pushed a commit that referenced this pull request Feb 12, 2026
* spike

* use tips-core

* comments + add meterbundleres to bundlewmetadata

* make meter_response not optional

* make it a fn not default
@danyalprout danyalprout added this pull request to the merge queue Feb 12, 2026
Merged via the queue into main with commit 29ca2fa Feb 12, 2026
15 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants