Skip to content

zenolith-ui/zenolith

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

Zenolith

Zenolith is my attempt at a retained-mode, platform-agnostic, zig-native GUI engine.

Join the Matrix room here!

Warning: Zenolith is in an extremely early stage! Many important features such as text editing are not yet implemented. Expect breaking changes!

Attention GitHub users!

Zenolith is mirrored on GitHub to make it easier to discover, however, this mirror is read-only! Do not open issues or pull requests on GitHub! All development happens on MZTE Git.

Contributing

Pull requests are always welcome! If you'd like to fix a bug, improve documentation or implement a feature on the TODO list below, go ahead! If you'd like to suggest a new feature or design change, please open an issue first to discuss it!

All commits must follow Conventional Commits!

TODO

  • Painter API
    • Rectangles
    • Textures
    • Text
      • Multi-Color chunks
      • Multi-Font chunks
    • Triangles
    • Matrix Transformations?
    • Drawing of partial widgets
      • stencils?
  • Widgets
    • Box (FlowBox-like algorithm)
    • Button
    • Label
      • Word Wrapping
      • Character Wrapping
      • Ellipsization
    • Text Edit
      • Single Line
      • Multi Line
    • Tabbed Pane
    • Split Pane
    • Scrolled Pane
  • Focus System
  • Theming
    • Built-in themes
  • Layout overflow handling
  • Logo
  • Treevents (Tree-Bound, downwards events)
  • Backevents (Tree-Bound, upwards events)
  • Platform events (Platform event loop events)
    • Wrap Backevents
  • Attreebutes (Tree-Bound, inhereted widget properties)
  • Documentation
    • In-Code
    • Book
    • Examples
  • CI/CD
  • SDL2 Backend
  • Mach Backend
  • TUI Backend
  • WASM Backend
  • Lazy rendering of subtrees

Gallery

Early Test GUI