add readme
This commit is contained in:
26
readme.md
Normal file
26
readme.md
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
# iris
|
||||||
|
|
||||||
|
my take on a rust ui library (also my first 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 (video, text, 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)
|
||||||
|
- 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, check TODO for that maybe
|
||||||
|
sizable chance it gets a rewrite once I know everything I need and what seems to work best
|
||||||
Reference in New Issue
Block a user