guion 0.4.0

flexible GUI framework
Documentation

guion

crates.io docs.rs MIT or Apache 2.0 licensed

 

guion is a 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