Skip to content
/ guion Public

Experimental flexible GUI framework

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

FerionVE/guion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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: