max / makeover-immediate
3 files changed,
+21 insertions,
-11 deletions
| @@ -1,10 +1,10 @@ | |||
| 1 | 1 | [package] | |
| 2 | - | name = "makeover-egui" | |
| 2 | + | name = "makeover-immediate" | |
| 3 | 3 | version = "0.1.0" | |
| 4 | 4 | edition = "2024" | |
| 5 | - | description = "The egui renderer for makeover-layout. Paints a renderer-agnostic description with egui primitives: no box-shadow, no inset, no cascade, one stroke per widget." | |
| 5 | + | description = "The immediate-mode renderer for makeover-layout. Immediate mode is the constraint that matters, not the library: no cascade, no retained tree, one stroke per widget. Backed by egui." | |
| 6 | 6 | license = "MIT" | |
| 7 | - | repository = "https://makenot.work/git/max/makeover-egui" | |
| 7 | + | repository = "https://makenot.work/git/max/makeover-immediate" | |
| 8 | 8 | ||
| 9 | 9 | [dependencies] | |
| 10 | 10 | egui = { version = "0.35", default-features = false } |
| @@ -1,13 +1,18 @@ | |||
| 1 | - | # makeover-egui | |
| 1 | + | # makeover-immediate | |
| 2 | 2 | ||
| 3 | - | The egui renderer for [`makeover-layout`](https://makenot.work/git/max/makeover-layout). | |
| 3 | + | The immediate-mode renderer for [`makeover-layout`](https://makenot.work/git/max/makeover-layout). | |
| 4 | 4 | ||
| 5 | - | egui is the harshest renderer the description has to survive: no `box-shadow`, | |
| 5 | + | It is the harshest renderer the description has to survive: no `box-shadow`, | |
| 6 | 6 | no `inset`, no cascade, no retained tree to mutate, and one stroke per widget | |
| 7 | 7 | with no per-side control. A two-tone lit edge is not something egui can be | |
| 8 | 8 | configured into producing, so it is painted by hand here, once, rather than in | |
| 9 | 9 | every consuming app. | |
| 10 | 10 | ||
| 11 | + | Named for the mode rather than the library, the way `makeover-tui` is named | |
| 12 | + | for the target and not for ratatui. Immediate mode is the constraint that | |
| 13 | + | separates this renderer from the other two; egui is the backend it is written | |
| 14 | + | against. | |
| 15 | + | ||
| 11 | 16 | ## What it owns | |
| 12 | 17 | ||
| 13 | 18 | The expression, and nothing else. Two mitred polylines for a bevel, a `Frame` | |
| @@ -22,7 +27,7 @@ | |||
| 22 | 27 | ## Usage | |
| 23 | 28 | ||
| 24 | 29 | ```rust | |
| 25 | - | use makeover_egui::{frame, FrameStyle, Palette}; | |
| 30 | + | use makeover_immediate::{frame, FrameStyle, Palette}; | |
| 26 | 31 | use makeover_layout::Depth; | |
| 27 | 32 | ||
| 28 | 33 | frame(ui, Depth::Raised, &palette, style, |ui| { | |
| @@ -43,7 +48,7 @@ | |||
| 43 | 48 | with extra steps. | |
| 44 | 49 | ||
| 45 | 50 | First consumer is audiofiles, the only Make Creative app that is egui and the | |
| 46 | - | only one with no CSS. Design lives in the wiki note `makeover-egui`; the backlog | |
| 51 | + | only one with no CSS. Design lives in the wiki note `makeover-immediate`; the backlog | |
| 47 | 52 | is in GoingsOn under the project of the same name. | |
| 48 | 53 | ||
| 49 | 54 | ## Licence |
| @@ -1,8 +1,13 @@ | |||
| 1 | - | //! The egui renderer for [`makeover_layout`]. | |
| 1 | + | //! The immediate-mode renderer for [`makeover_layout`]. | |
| 2 | 2 | //! | |
| 3 | - | //! <!-- wiki: makeover-egui --> | |
| 3 | + | //! <!-- wiki: makeover-immediate --> | |
| 4 | 4 | //! | |
| 5 | - | //! egui is the harshest renderer the description has to survive: no | |
| 5 | + | //! Named for the mode, not the library, the way [`makeover-tui`] is named for | |
| 6 | + | //! the target and not for ratatui. Immediate mode is the constraint that | |
| 7 | + | //! actually separates this renderer from the other two, and egui is the | |
| 8 | + | //! backend it is written against. | |
| 9 | + | //! | |
| 10 | + | //! It is the harshest renderer the description has to survive: no | |
| 6 | 11 | //! `box-shadow`, no `inset`, no cascade, no retained tree to mutate, and | |
| 7 | 12 | //! `Visuals.widgets.*.bg_stroke` is a single stroke with no per-side control. | |
| 8 | 13 | //! A two-tone lit edge is not something egui can be configured into producing, |