27 lines
1.4 KiB
Markdown
27 lines
1.4 KiB
Markdown
# iris
|
|
|
|
my fisrt attempt at a rust ui library
|
|
|
|
it's called iris because it's the structure around what you actually want to display and colorful
|
|
|
|
there's a `main.rs` that runs a testing window, so can just `cargo run` to see it working
|
|
|
|
goals, in general order:
|
|
1. does what I want it to (text, images, video, animations)
|
|
2. very easy to use ignoring ergonomic ref counting
|
|
3. reasonably fast / efficient (a lot faster than electron, save battery life)
|
|
|
|
not targeting web rn cause wanna use actual nice gpu features & entire point of this is to make desktop apps
|
|
|
|
general ideas trynna use rn / experiment with:
|
|
- retained mode
|
|
- specifically designed around wgpu
|
|
- postfix functions for most things to prevent unreadable indentation (going very well)
|
|
- almost no macros in user code & actual LSP typechecking (variadic generics if you can hear me please save us)
|
|
- relative anchor + absolute offset coord system (+ "rest" / leftover during widget layout)
|
|
- single threaded ui & pass context around to make non async usage straightforward (pretty unsure about this)
|
|
- widgets store outside of the actual rendering so they can be moved around and swapped easily (unsure about this but seems to work good for now)
|
|
|
|
under heavy initial development so not gonna try to explain status, maybe check TODO for that;
|
|
sizable chance it gets a rewrite once I know everything I need and what seems to work best
|