Skip to content

Latest commit

 

History

History
63 lines (46 loc) · 2.53 KB

File metadata and controls

63 lines (46 loc) · 2.53 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

  • TBD

[0.1.0] - 2025-12-27

Added

  • Initial release of bgraph
  • Graph, TimeSeries, DualGraph, DualTimeSeries, MultiGraph, MultiTimeSeries
  • MiniGraph and MiniTimeSeries sparklines (standard + high-resolution modes)
  • Meter, VerticalGauge, BrailleVerticalGauge (braille gauge supports 4x/8x)
  • DataSource trait and FnDataSource wrapper
  • ColorGradient with smooth RGB interpolation + precompute table
  • RenderMode, GradientMode, SplitDirection, LegendPosition
  • Height snapping helpers (snap_height, snap_graph_area, snap_height_with_base, snap_graph_area_with_base)
  • Zero-line rendering and inverted Y-axis support
  • btop-style demo panel showcasing dense layout and scrolling

Features

  • High Resolution: 5 vertical levels per terminal cell (0%, 25%, 50%, 75%, 100%)
  • High-Res Modes: 8x vertical resolution for sparklines and braille gauges
  • Smooth Transitions: btop-style Braille lookup table creates natural gradients
  • Gradient Colors: Heat-map effects for value-based coloring (like btop's CPU graphs)
  • Flexible Rendering: Block mode fallback for terminals without Unicode support
  • Ratatui Integration: Drop-in widget for any ratatui application

Configuration Options

  • x_range(start, end) - Set horizontal data window
  • y_range(min, max) - Set vertical scale
  • style(Style) - Set graph color and modifiers
  • gradient(ColorGradient) - Enable value-based coloring
  • gradient_mode(GradientMode) - Value vs position coloring
  • render_mode(RenderMode) - Choose Braille or Block rendering
  • wave_char(char) - Custom character for Block mode
  • show_zero_line(bool) - Toggle horizontal reference line
  • zero_line_style(Style) - Style the zero-line

Dependencies

  • ratatui ^0.29 - TUI framework

Credits

This library implements the Braille graphing technique pioneered by btop (Copyright © 2021 Jakob P. Liljenberg).