Rand Stats

Terminal::Widgets

zef:japhb
Revision history for Terminal-Widgets

0.0.8  2023-09-03T20:24:54-07:00
  [Bug Fixes]
  - Minor tweaks, fixes, and error message improvements

  [Functionality]
  - Add missing right/bottom-correction BoxModel multis
  - Track timing for app bootup and terminal initialization
  - Add ::Progress::Tracker role to unify interface to progress tracking widgets
  - Support loading screens with optional progress tracking display
  - Allow layout objects to specify a share weight for distributing space
  - Add spacer-only layout leaf node for self-documenting convenience

  [I18n]
  - Stub in ::I18N::Locale class and ensure each Terminal gets one

  [Performance]
  - Various minor micro-optimizations

  [Quality]
  - Improve quality and performance of gray-color() utility multis
  - Better represent uneven xterm-256 color cube mapping in rgb-color() utility
    multis, adding rgb-color-flat() multis to use the old flat-mapping formulae

  [Refactoring]
  - Move all color utilities in ::Utils into a separate ::Utils::Color module
  - Move relayout phases from Terminal to TopLevel
  - Move TW_* environment var handling to ::App.add-terminal
  - Significantly refactor and simplify App booting (many commits), resulting
    in adding separate ::Simple::App class as well


0.0.7  2023-06-24T22:17:50-07:00
  [Bug Fixes]
  - Make sure ::Input::Text uses scroll markers matched to terminal caps

  [Documentation]
  - Add doc with ruminations on styles

  [Functionality]
  - Add right-correction and bottom-correction methods to BoxModel
  - Rewrite Widget compositing to clip to parent's content area

  [Packaging]
  - Bump dependencies

  [Refactoring]
  - Move ::TerminalCapabilities out to its own separate distribution,
    Terminal::Capabilities


0.0.6  2023-06-08T22:12:17-07:00
  [Bug Fixes]
  - Correct width and height when building objects
  - Fix thinkos in distributing unassigned height/width in layouts
  - Comment out seemingly-redundant callsame
  - Fix WHY for ::Input::Text

  [Examples]
  - Update form example with framing styles

  [Functionality]
  - Expand BoxModel and make it more usable
  - Add `draw-framing` and related methods to base Widget class
  - Draw and account for framing for all existing widgets

  [Refactoring]
  - Move BoxDrawing consumption to base Widget class


0.0.5  2023-06-04T12:24:07-07:00
  [Functionality]
  - Support terminal capabilities and envvars for them in ::App
  - Adjust input widget rendering based on available symbol set
  - Add initial sketch of ::I18N::Translation

  [Packaging]
  - Fix copyright years


0.0.4  2023-05-21T14:56:20-07:00
  [Functionality]
  - Add PlainText widget for simple text blocks
  - Add Input::Menu widget for trivial menus
  - Add 'highlight' as a themable color for Input widgets
  - Allow layout widgets to dynamically generate their default styles
  - Provide symbol-set helper routine for terminal capabilities

  [Refactoring/Cleanup]
  - Reduce boilerplate in building layout and widget trees
  - Remove commented-out code

  [Testing/CI]
  - Upgrade to checkout@v3 to avoid CI warning


0.0.3  2023-05-12T21:03:44-07:00
  [Bug fixes]
  - Prevent bubble-up event duplication

  [Functionality]
  - First bits of Widget dirty area handling
  - Add initial terminal capabilities tracking
  - Add initial Unicode symbol set variants
  - Add RGB -> Luma/grayscale conversion utils
  - Add convenience method for finding widget's toplevel's terminal


0.0.2  2022-08-09T18:14:58-07:00
  [Bug fixes]
  - Return Empty from Simple::TopLevel.initial-layout stub
  - Remove existing content in Input::Text.reset-entry-state
  - Don't send events to children that can't understand them
  - Recalc coordinate offsets even for unparented Widgets

  [Functionality]
  - Add a Terminal.has-initialized Promise
  - First bits of Z-order support for Widgets (API changes expected)


0.0.1  2022-07-23T16:44:48-07:00
  - Initial proof-of-concept version