guion 0.5.0-dev1

Flexible GUI Framework
Documentation

guion

crates.io docs.rs MIT or Apache 2.0 licensed

 

guion is an experimental GUI framework, focused on flexibility (e.g. guion core flexible Widget model) and modularity (e.g. separate backend/engine, interchangeable standard components).

guion being in an experimental state, API and concepts are still in flux.

Goals:

  • Data-oriented: Widgets abstract over model, can be directly implemented onto model, or be immediate
  • Widgets own model/data or reference model/data as immediate widget
  • Dynamic separate Context/states
  • Widget Tree/Model separate from Context, State and side-data
  • Modularity
    • Separation of core, backend, and higher features
    • Components are defined in generics and traits
    • Standard implementations can be combined with e.g. a custom ID implementation.
  • guion-widgets Standard Widgets: common widgets, layouting widgets, etc.
    • Can own or reference data immediate, Widget state in model or Context
  • guion-std Standard Window features like focused/hovered widgets, tabulating, drag/drop
  • Widget Data caching/invalidation abstractions
  • Tame complexity, provide efficient abstractions to make life easier

Related Project:

  • guion_sdl2 for a prototype backend implementation