Tacita is an immediate mode GUI framework written in Rust.
The application declares controls each frame.
Tacita retains interaction state between frames.
The application owns its window, graphics device, and swap chain.
Tacita produces draw data for a renderer.
The core uses no_std with alloc.
The recording shows the demo controls and rendering.
https://github.com/user-attachments/assets/bd03ed00-9938-4251-9c3e-171547b80d83
Features
- The core provides windows, tabs, menus, popups, scroll areas, and docking.
- The layout system supports rows, columns, grids, wrapping, and spanning.
- Data controls include virtualized lists, sortable tables, plots, curve editors, and gradient editors.
- The text system supports shaping, bidirectional layout, font fallback, and multiline editing.
- The input system supports keyboard navigation, shortcuts, mouse capture, and drag operations.
- The animation system provides tweens, springs, keyframes, and reduced motion settings.
- Renderers support rounded shapes, gradients, masks, blur, and rendering into textures.
- The core exposes accessibility nodes for the application.
- The Windows accessibility bridge uses Microsoft Activeβ¦