https://github.com/aliscode/utopia
Modular, Data-driven UI Framework in Rust
https://github.com/aliscode/utopia
Last synced: 11 months ago
JSON representation
Modular, Data-driven UI Framework in Rust
- Host: GitHub
- URL: https://github.com/aliscode/utopia
- Owner: AlisCode
- Created: 2021-02-13T22:31:52.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-05-07T15:10:00.000Z (over 4 years ago)
- Last Synced: 2025-01-06T09:12:19.217Z (about 1 year ago)
- Language: Rust
- Size: 166 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Utopia
A modular, unopinionated, lightweight, data-driven UI library focused on games and desktop applications. Written in Rust.
Greatly inspired by Druid and Iced.
## Features
* Modular design empowering everyone to create their own widgets, and match closely the target platform's capacities
* Data-driven design
* Easy layout (including Flex layout and Stacks)
* Various goodies such as widget decorations and scrolling
* Basic widgets such as Image, Text and Labels
* Support for animations à la Flutter, safely animate *all* widgets through lenses.
* Animation easing through [keyframes](https://docs.rs/keyframe/1.0.3/keyframe/)
## Roadmap
* Handle futures, async components
* Proper caching of primitives / render optimisations / re-layout only when required
* Extract Lenses to their own crate, and provide a proc macro
* General cleanup. Fix todos, write some documentation, ensure the basic design is correct
* Write a `bevy` backend
* Utility (form) widgets :
* Button
* TextInput widget
* Checkboxes,
* Optionboxes,
* OptionGroup
* Slider,
* Progress bar,
* Select,
* Switch,
* Validation process for Forms
* Lifecycle events ?
* Rich text
* Drag-and-drop
* Tabs widget
* Table widget
* Widget focus ?
* Canvas ?