Skip to main content

max / makeover-immediate

Say that app-level chrome is not drawn here yet quasi-router names Chrome and Outcome::Over and both other renderers answer them; this one does not. Written down because the silent version reads as a renderer that needs no palette, and it needs one.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-08-13 14:23 UTC
Signed with PGP, not checked
Commit: 019b4d0e14b2b0be33f1ebc3a0fedacea77de36c
Parent: eaf9a49
2 files changed, +10 insertions, -1 deletion
M Cargo.toml +1 -1
@@ -1,6 +1,6 @@
1 1 [package]
2 2 name = "makeover-immediate"
3 - version = "0.17.0"
3 + version = "0.17.1"
4 4 edition = "2024"
5 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"
M src/lib.rs +9
@@ -127,6 +127,15 @@
127 127 //! are defined once in `makeover_layout`'s crate header, "Reach, focus and
128 128 //! the focus ring". [`makeover_layout::State::Disabled`] *is* drawn, because
129 129 //! egui has no opinion about it until told.
130 + //! - **App-level chrome is not drawn here yet, and that is an omission rather
131 + //! than a decision.** `quasi-router` names the affordances that outlive one
132 + //! screen — a `Chrome` of key bindings, and an `Outcome::Over` for a screen
133 + //! drawn over another — and the webview and terminal renderers both answer
134 + //! them. This one does not: an egui host wanting a command palette still
135 + //! writes its own. Written down because the silent version of this reads as
136 + //! "egui does not need one", and it does; nothing has asked for it yet. The
137 + //! shape it would take is not in doubt — egui has `Area` and `Order`, which
138 + //! is what an overlay is — so this is work, not a design question.
130 139
131 140 #![forbid(unsafe_code)]
132 141