Rand Stats

MUGS::UI::TUI

zef:japhb
Revision history for MUGS-UI-TUI

0.1.4  2024-03-02T22:21:58-08:00
  [App]
  - Support --safe option to set most compatible UI defaults

  [Bug Fixes]
  - Remove invisible bidi control characters that got accidentally embedded in
    PFX statistics output (found via enhanced T::W debugging support)
  - Tweak CI workflow to silence GitHub Workflow warnings

  [Debugging]
  - Optionally record startup and loading screen performance debug info
  - Allow numeric MUGS_DEBUG settings and tune debugging output accordingly

  [Dependencies]
  - Update all dependencies
  - Follow T::W::TerminalCapabilities --> Terminal::Capabilities change
  - Support T::C's split of WGL4R out of WGL4 symbol set
  - Follow T::W::I::Menu hint handling change
  - Switch to new T::W::ColorSet API for color styling

  [Packaging]
  - Update copyright year range in README

  [Refactoring]
  - Simplify TUI init using T::W::Simple::App
  - Move mugs-logo helper to its own ::Logo module
  - Base widget sizing on T::W::Terminal locale and caps
  - Centralize menu icon definition to ensure consistency
  - Add helpers for building state-retaining checkboxes and radio groups

  [UI/UX]
  - Add a loading screen with a ProgressBar widget, and tune size and content
    of init/loading chunks to get to the loading screen quickly, have relatively
    smooth progress throughout, and hide screen flicker from user
  - Define standard layouts that different screens can base themselves on,
    including StandardScreen and its children StandardForm and PrimaryMenu
  - Start defining a full set of main UI screens, including a few early forms
    and several layers of menus with breadcrumbs and inter-level navigation
  - Allow menu screens to declare their own titles and set per-item icons
  - Support translation of titles, breadcrumbs, hints, menu items, buttons, etc.
    and add test translations for main UI screens
  - Allow the UI itself to be tuned by the user via Optional UI Elements screen
    (does not yet save those choices to disk, but _does_ make changes immediately
    visible as soon as the user selects the Save button, persisting through that
    app lifetime)
  - Support large, small, and invisible menu headers, with the small size
    defaulting to autogenerated content, and large defaulting to small
  - Add small logo variants for MainMenu header
  - Load UI preferences defaults from user config during boot
  - Start building an AvailableGames screen that uses data from Lobby client
    (not fully functional yet)
  - Allow launched games to exit either back to shell or to AvailableGames
    screen, depending on how they were launched
  - Make use of game-ui-opts for layout of MainMenu
  - Handle config settings for symbols and vt100-boxes


0.1.3  2023-06-04T12:52:45-07:00
  [Bug Fixes]
  - Set $*TERMINAL properly in TUI initialization
  - Fix out of date message stats schemas
  - Work around Rakudo change in PROCESS dynamics
  - Use existing DEBUG global

  [Docs]
  - Expanded README, including updated contact info
  - Add several design and speculative docs

  [Games]
  - Completely redesign PFX smoothing, using interpolation rather than extrapolation

  [Packaging]
  - Update dependencies on Terminal::Print and Terminal::Widgets

  [Refactoring]
  - Switch to client.validate-and-save-update in PFX UI
  - Make use of newer LocalUI APIs to shrink ensure-authenticated-session considerably
  - Switch over to Terminal::Widgets classes and APIs
  - Remove redundant layout and setup code

  [Testing]
  - Run GitHub test workflow against MUGS-Core/Games HEAD rather than previous release

  [UI/UX]
  - Allow player to specify game-id as a command line option to join an active game
  - Update mugs-tui bootstrap message to current idiom
  - Update UI init to handle terminal capabilities and current idioms
  - Create initial MainMenu with capabilities-sensitive logo, hotkeys, and
    live hints, based on T::W::I::Menu


0.1.2  2021-05-13
  - Add simple UI for PFX performance test "game"


0.1.1  2021-04-15
  - Bump versioned dependencies


0.1.0  2021-03-22
  - Initial version: very limited skeleton, no supported games