From f5f45475371c8841e2e396fc220689e40c59c065 Mon Sep 17 00:00:00 2001 From: shadow cat Date: Mon, 17 Nov 2025 17:01:04 -0500 Subject: [PATCH] add readme --- readme.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 readme.md diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..efa14c0 --- /dev/null +++ b/readme.md @@ -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