Take makeover-layout 0.41.0: describe a one-region screen
Arrangement::Single arrived because both existing members divide a width
between two regions. The three renderers each grew an arm: the webview names
a `single` class and emits no --region-share, since share() answers None where
there is no division; the TUI and egui stack the body slots down the whole
area.
Screen::single is the constructor a host reaches for. Pins move across the
whole makeover cone, which moves together because makeover-layout carries
`links`.
- Co-Authored-By
- Claude Opus 5 (1M context) <noreply@anthropic.com>
- Claude-Session
- https://claude.ai/code/session_01DwpiantpUgohzML4xr6KeQ
12 files changed,
+68 insertions,
-29 deletions
| 2605 |
2605 |
|
|
| 2606 |
2606 |
|
[[package]]
|
| 2607 |
2607 |
|
name = "makeover-immediate"
|
| 2608 |
|
- |
version = "0.41.0"
|
|
2608 |
+ |
version = "0.42.0"
|
| 2609 |
2609 |
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
| 2610 |
|
- |
checksum = "5fecbd8dd999dfab40e6c642f2adf76196f46d31096557c8a83405df61e2884b"
|
|
2610 |
+ |
checksum = "ec7b9057f4f623299570e7b560d38bae3ca5fe42d13a60a558656f87b4057f36"
|
| 2611 |
2611 |
|
dependencies = [
|
| 2612 |
2612 |
|
"egui",
|
| 2613 |
2613 |
|
"egui_extras",
|
| 2617 |
2617 |
|
|
| 2618 |
2618 |
|
[[package]]
|
| 2619 |
2619 |
|
name = "makeover-layout"
|
| 2620 |
|
- |
version = "0.40.0"
|
|
2620 |
+ |
version = "0.41.0"
|
| 2621 |
2621 |
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
| 2622 |
|
- |
checksum = "c2f7ecec1a7e3b5026f731aec88607a5856fc21945cca478d4130d08724deb96"
|
|
2622 |
+ |
checksum = "668c1ae75b3cc6617b9ef840f7980b0f576a93564f244c920191c90794fc8e17"
|
| 2623 |
2623 |
|
|
| 2624 |
2624 |
|
[[package]]
|
| 2625 |
2625 |
|
name = "makeover-timing"
|
| 2632 |
2632 |
|
|
| 2633 |
2633 |
|
[[package]]
|
| 2634 |
2634 |
|
name = "makeover-touch"
|
| 2635 |
|
- |
version = "0.30.0"
|
|
2635 |
+ |
version = "0.31.0"
|
| 2636 |
2636 |
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
| 2637 |
|
- |
checksum = "9c2111c223a33cb980a2cdc74ab784c428064bcf820a8e89c3cfb06fd6801f21"
|
|
2637 |
+ |
checksum = "8b59944f2258db046b4c7ea325eaef71a9e681e854432cd88e1355ea891eecc1"
|
| 2638 |
2638 |
|
dependencies = [
|
| 2639 |
2639 |
|
"makeover-geometry",
|
| 2640 |
2640 |
|
"makeover-layout",
|
| 2642 |
2642 |
|
|
| 2643 |
2643 |
|
[[package]]
|
| 2644 |
2644 |
|
name = "makeover-tui"
|
| 2645 |
|
- |
version = "0.40.0"
|
|
2645 |
+ |
version = "0.41.0"
|
| 2646 |
2646 |
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
| 2647 |
|
- |
checksum = "4aa7a3663b98a7e52b31a57127fe3e32f641d9c5cae593f5656f449a05903d53"
|
|
2647 |
+ |
checksum = "3d1ea0f2ab4d28552f7442f01688a8c65b4100a326c8cc79eadb0535a860dbe0"
|
| 2648 |
2648 |
|
dependencies = [
|
| 2649 |
2649 |
|
"makeover",
|
| 2650 |
2650 |
|
"makeover-layout",
|
| 2654 |
2654 |
|
|
| 2655 |
2655 |
|
[[package]]
|
| 2656 |
2656 |
|
name = "makeover-webview"
|
| 2657 |
|
- |
version = "0.69.0"
|
|
2657 |
+ |
version = "0.70.0"
|
| 2658 |
2658 |
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
| 2659 |
|
- |
checksum = "78d0f434b4a70830f0c647d1d67bcb19ef9e59e6ded2577bcc45901c0d1e2b37"
|
|
2659 |
+ |
checksum = "ef402e7badce6073d49320837ec3262bfaa6f739561c0f4e27926e94fee29ad0"
|
| 2660 |
2660 |
|
dependencies = [
|
| 2661 |
2661 |
|
"makeover-geometry",
|
| 2662 |
2662 |
|
"makeover-layout",
|
| 6211 |
6211 |
|
"winnow 1.0.4",
|
| 6212 |
6212 |
|
]
|
| 6213 |
6213 |
|
|
| 6214 |
|
- |
[[patch.unused]]
|
| 6215 |
|
- |
name = "synckit-client"
|
| 6216 |
|
- |
version = "0.10.0"
|
| 6217 |
|
- |
|
| 6218 |
6214 |
|
[[patch.unused]]
|
| 6219 |
6215 |
|
name = "quasi-type"
|
| 6220 |
6216 |
|
version = "0.1.3"
|
| 6234 |
6230 |
|
[[patch.unused]]
|
| 6235 |
6231 |
|
name = "tagtree"
|
| 6236 |
6232 |
|
version = "0.4.1"
|
|
6233 |
+ |
|
|
6234 |
+ |
[[patch.unused]]
|
|
6235 |
+ |
name = "synckit-client"
|
|
6236 |
+ |
version = "0.10.0"
|
| 14 |
14 |
|
|
| 15 |
15 |
|
[dependencies]
|
| 16 |
16 |
|
quasi-router = { path = "../quasi-router", version = "0.81.0" }
|
| 17 |
|
- |
makeover-layout = "0.40.0"
|
|
17 |
+ |
makeover-layout = "0.41.0"
|
| 18 |
18 |
|
|
| 19 |
19 |
|
[dev-dependencies]
|
| 20 |
20 |
|
# A widget's guarantees are claims about what a renderer draws, so they are
|
| 29 |
29 |
|
# webview is measured through. Taken directly rather than through quasi-webview
|
| 30 |
30 |
|
# because a bench calling a trait method should name the trait it calls.
|
| 31 |
31 |
|
quasi-http = { path = "../quasi-http", version = "0.81.0" }
|
| 32 |
|
- |
makeover-layout = "0.40.0"
|
| 33 |
|
- |
makeover-tui = { version = "0.40.0", features = ["theme"] }
|
|
32 |
+ |
makeover-layout = "0.41.0"
|
|
33 |
+ |
makeover-tui = { version = "0.41.0", features = ["theme"] }
|
| 34 |
34 |
|
# Only to load a bundled theme file. `makeover_tui::Theme` is `#[non_exhaustive]`,
|
| 35 |
35 |
|
# so `Theme::from_theme` is the one way to get one, the same reason quasi-tui's
|
| 36 |
36 |
|
# tests take this.
|
| 17 |
17 |
|
# widget here that is not a container comes from it: a screen walk that painted
|
| 18 |
18 |
|
# its own meter would be the divergence the suite exists to end, one copy per
|
| 19 |
19 |
|
# renderer instead of one copy per app.
|
| 20 |
|
- |
makeover-immediate = "0.41.0"
|
|
20 |
+ |
makeover-immediate = "0.42.0"
|
| 21 |
21 |
|
# The one place a duration is named rather than numbered. `Intent::Dismiss` is
|
| 22 |
22 |
|
# how long a transient notice lives, and `notice_lifetime` is the seam: the
|
| 23 |
23 |
|
# description says a toast goes away on its own and declines to say when, so
|
| 13 |
13 |
|
workspace = true
|
| 14 |
14 |
|
|
| 15 |
15 |
|
[dependencies]
|
| 16 |
|
- |
makeover-layout = "0.40.0"
|
|
16 |
+ |
makeover-layout = "0.41.0"
|
| 14 |
14 |
|
|
| 15 |
15 |
|
[dependencies]
|
| 16 |
16 |
|
quasi-router = { path = "../quasi-router", version = "0.81.0" }
|
| 17 |
|
- |
makeover-layout = "0.40.0"
|
|
17 |
+ |
makeover-layout = "0.41.0"
|
| 18 |
18 |
|
# The depth palette, the theme bridge and the table. Everything else this crate
|
| 19 |
19 |
|
# draws is written here first and lifted upstream once a second consumer wants
|
| 20 |
20 |
|
# it, which is the order the suite has always moved in: the constrained consumer
|
| 21 |
21 |
|
# finds the shape, and the shared crate takes it after it is known rather than
|
| 22 |
22 |
|
# before.
|
| 23 |
|
- |
makeover-tui = { version = "0.40.0", features = ["theme"] }
|
|
23 |
+ |
makeover-tui = { version = "0.41.0", features = ["theme"] }
|
| 24 |
24 |
|
# The one place a duration is named rather than numbered. `Intent::Dismiss` is
|
| 25 |
25 |
|
# how long a transient notice lives, and `notice_lifetime` is the seam: the
|
| 26 |
26 |
|
# description says a toast goes away on its own and declines to say when, so
|
| 15 |
15 |
|
[dependencies]
|
| 16 |
16 |
|
quasi-router = { path = "../quasi-router", version = "0.81.0" }
|
| 17 |
17 |
|
quasi-http = { path = "../quasi-http", version = "0.81.0" }
|
| 18 |
|
- |
makeover-layout = "0.40.0"
|
| 19 |
|
- |
makeover-webview = "0.69.0"
|
|
18 |
+ |
makeover-layout = "0.41.0"
|
|
19 |
+ |
makeover-webview = "0.70.0"
|
| 20 |
20 |
|
# `Node::Rich` carries markdown source and this is what turns it into markup.
|
| 21 |
21 |
|
# Sanitising comes with it, which is why the node can carry what a user typed.
|
| 22 |
22 |
|
#
|
| 151 |
151 |
|
});
|
| 152 |
152 |
|
}
|
| 153 |
153 |
|
}
|
|
154 |
+ |
|
|
155 |
+ |
// One region filling the frame. Down the page, because there is no
|
|
156 |
+ |
// division to put anything beside.
|
|
157 |
+ |
Arrangement::Single => {
|
|
158 |
+ |
for slot in body {
|
|
159 |
+ |
scrolled(ui, slot, pass);
|
|
160 |
+ |
}
|
|
161 |
+ |
}
|
| 154 |
162 |
|
}
|
| 155 |
163 |
|
}
|
| 156 |
164 |
|
|
| 7497 |
7497 |
|
Self::new(title, layout::Arrangement::sidebar_content())
|
| 7498 |
7498 |
|
}
|
| 7499 |
7499 |
|
|
|
7500 |
+ |
/// One region, filling the document.
|
|
7501 |
+ |
///
|
|
7502 |
+ |
/// `52699de6`. What a screen with nothing beside anything says. Before this
|
|
7503 |
+ |
/// existed such a screen borrowed [`list_detail`](Self::list_detail) with
|
|
7504 |
+ |
/// `tabbed: false` and the host cancelled the grid that produced, which is a
|
|
7505 |
+ |
/// host writing CSS to contradict the description rather than to add to it.
|
|
7506 |
+ |
pub fn single(title: impl Into<String>) -> Self {
|
|
7507 |
+ |
Self::new(title, layout::Arrangement::Single)
|
|
7508 |
+ |
}
|
|
7509 |
+ |
|
| 7500 |
7510 |
|
/// Add a region, chaining.
|
| 7501 |
7511 |
|
#[must_use]
|
| 7502 |
7512 |
|
pub fn with(mut self, slot: Slot) -> Self {
|