A part says how many lines it may take, and the webview honours it
Part gains a flow, and Row::relaxed sets it on the part just added. On the part
rather than on the row because BB clamps a feed row's title while its excerpt
wraps freely underneath, so a row-wide setting would have been wrong at the one
site that asked for it.
quasi-webview groups on role and flow together. The span is what carries the
clamp, so two parts sharing a role and disagreeing about how many lines they
may take cannot share one.
quasi-tui and quasi-immediate read the field and do nothing with it, each with
a comment saying so rather than dropping it silently. The reason is the
opposite of what it looks like: the terminal already gives a row as many lines
as the text needs, so honouring Flow there is a cap rather than a grant, and a
cap changes the height of every existing row. That is a decision and it is
filed as 7bfb554a.
0.21.0: Part is a public struct and gained a field.
16 files changed,
+190 insertions,
-59 deletions
| 2367 |
2367 |
|
|
| 2368 |
2368 |
|
[[package]]
|
| 2369 |
2369 |
|
name = "makeover-layout"
|
| 2370 |
|
- |
version = "0.28.0"
|
| 2371 |
|
- |
source = "registry+https://github.com/rust-lang/crates.io-index"
|
| 2372 |
|
- |
checksum = "4621aad492adac3b258a3a2822b5e4661b0ed3884ca565c29c933f32f5acc050"
|
|
2370 |
+ |
version = "0.28.1"
|
| 2373 |
2371 |
|
|
| 2374 |
2372 |
|
[[package]]
|
| 2375 |
2373 |
|
name = "makeover-touch"
|
| 2394 |
2392 |
|
|
| 2395 |
2393 |
|
[[package]]
|
| 2396 |
2394 |
|
name = "makeover-webview"
|
| 2397 |
|
- |
version = "0.47.0"
|
| 2398 |
|
- |
source = "registry+https://github.com/rust-lang/crates.io-index"
|
| 2399 |
|
- |
checksum = "1b53e075387c3d151b065e073064aebb5ad299d5a7cd133e30d59257f25ae773"
|
|
2395 |
+ |
version = "0.48.0"
|
| 2400 |
2396 |
|
dependencies = [
|
| 2401 |
2397 |
|
"makeover-geometry",
|
| 2402 |
2398 |
|
"makeover-layout",
|
| 3100 |
3096 |
|
|
| 3101 |
3097 |
|
[[package]]
|
| 3102 |
3098 |
|
name = "quasi"
|
| 3103 |
|
- |
version = "0.20.1"
|
|
3099 |
+ |
version = "0.21.0"
|
| 3104 |
3100 |
|
|
| 3105 |
3101 |
|
[[package]]
|
| 3106 |
3102 |
|
name = "quasi-axum"
|
| 3107 |
|
- |
version = "0.20.1"
|
|
3103 |
+ |
version = "0.21.0"
|
| 3108 |
3104 |
|
dependencies = [
|
| 3109 |
3105 |
|
"axum",
|
| 3110 |
3106 |
|
"http",
|
| 3118 |
3114 |
|
|
| 3119 |
3115 |
|
[[package]]
|
| 3120 |
3116 |
|
name = "quasi-basics"
|
| 3121 |
|
- |
version = "0.20.1"
|
|
3117 |
+ |
version = "0.21.0"
|
| 3122 |
3118 |
|
dependencies = [
|
| 3123 |
3119 |
|
"makeover-layout",
|
| 3124 |
3120 |
|
"quasi-http",
|
| 3128 |
3124 |
|
|
| 3129 |
3125 |
|
[[package]]
|
| 3130 |
3126 |
|
name = "quasi-bench"
|
| 3131 |
|
- |
version = "0.20.1"
|
|
3127 |
+ |
version = "0.21.0"
|
| 3132 |
3128 |
|
dependencies = [
|
| 3133 |
3129 |
|
"dhat",
|
| 3134 |
3130 |
|
"makeover",
|
| 3143 |
3139 |
|
|
| 3144 |
3140 |
|
[[package]]
|
| 3145 |
3141 |
|
name = "quasi-http"
|
| 3146 |
|
- |
version = "0.20.1"
|
|
3142 |
+ |
version = "0.21.0"
|
| 3147 |
3143 |
|
dependencies = [
|
| 3148 |
3144 |
|
"form_urlencoded",
|
| 3149 |
3145 |
|
"http",
|
| 3152 |
3148 |
|
|
| 3153 |
3149 |
|
[[package]]
|
| 3154 |
3150 |
|
name = "quasi-immediate"
|
| 3155 |
|
- |
version = "0.20.1"
|
|
3151 |
+ |
version = "0.21.0"
|
| 3156 |
3152 |
|
dependencies = [
|
| 3157 |
3153 |
|
"docengine",
|
| 3158 |
3154 |
|
"egui",
|
| 3162 |
3158 |
|
|
| 3163 |
3159 |
|
[[package]]
|
| 3164 |
3160 |
|
name = "quasi-router"
|
| 3165 |
|
- |
version = "0.20.1"
|
|
3161 |
+ |
version = "0.21.0"
|
| 3166 |
3162 |
|
dependencies = [
|
| 3167 |
3163 |
|
"makeover-layout",
|
| 3168 |
3164 |
|
]
|
| 3179 |
3175 |
|
|
| 3180 |
3176 |
|
[[package]]
|
| 3181 |
3177 |
|
name = "quasi-tauri"
|
| 3182 |
|
- |
version = "0.20.1"
|
|
3178 |
+ |
version = "0.21.0"
|
| 3183 |
3179 |
|
dependencies = [
|
| 3184 |
3180 |
|
"http",
|
| 3185 |
3181 |
|
"quasi-http",
|
| 3190 |
3186 |
|
|
| 3191 |
3187 |
|
[[package]]
|
| 3192 |
3188 |
|
name = "quasi-tui"
|
| 3193 |
|
- |
version = "0.20.1"
|
|
3189 |
+ |
version = "0.21.0"
|
| 3194 |
3190 |
|
dependencies = [
|
| 3195 |
3191 |
|
"docengine",
|
| 3196 |
3192 |
|
"makeover",
|
| 3202 |
3198 |
|
|
| 3203 |
3199 |
|
[[package]]
|
| 3204 |
3200 |
|
name = "quasi-webview"
|
| 3205 |
|
- |
version = "0.20.1"
|
|
3201 |
+ |
version = "0.21.0"
|
| 3206 |
3202 |
|
dependencies = [
|
| 3207 |
3203 |
|
"docengine",
|
| 3208 |
3204 |
|
"makeover-layout",
|
| 1 |
1 |
|
[package]
|
| 2 |
2 |
|
name = "quasi-axum"
|
| 3 |
|
- |
version = "0.20.1"
|
|
3 |
+ |
version = "0.21.0"
|
| 4 |
4 |
|
description = "The axum host adapter for quasi-router: an HTTP request in, a rendered description out"
|
| 5 |
5 |
|
edition.workspace = true
|
| 6 |
6 |
|
rust-version.workspace = true
|
| 13 |
13 |
|
workspace = true
|
| 14 |
14 |
|
|
| 15 |
15 |
|
[dependencies]
|
| 16 |
|
- |
quasi-router = { path = "../quasi-router", version = "0.20.1" }
|
| 17 |
|
- |
quasi-http = { path = "../quasi-http", version = "0.20.1" }
|
|
16 |
+ |
quasi-router = { path = "../quasi-router", version = "0.21.0" }
|
|
17 |
+ |
quasi-http = { path = "../quasi-http", version = "0.21.0" }
|
| 18 |
18 |
|
axum = "0.8.8"
|
| 19 |
19 |
|
http = "1.3.1"
|
| 20 |
20 |
|
tokio = { version = "1.50.0", features = ["rt"] }
|
| 21 |
21 |
|
|
| 22 |
22 |
|
[dev-dependencies]
|
| 23 |
|
- |
quasi-webview = { path = "../quasi-webview", version = "0.20.1" }
|
|
23 |
+ |
quasi-webview = { path = "../quasi-webview", version = "0.21.0" }
|
| 24 |
24 |
|
tokio = { version = "1.50.0", features = ["macros", "rt-multi-thread"] }
|
| 25 |
25 |
|
tower = { version = "0.5.3", features = ["util"] }
|
| 26 |
26 |
|
http-body-util = "0.1.3"
|
| 1 |
1 |
|
[package]
|
| 2 |
2 |
|
name = "quasi-basics"
|
| 3 |
|
- |
version = "0.20.1"
|
|
3 |
+ |
version = "0.21.0"
|
| 4 |
4 |
|
description = "The first-party widget set: named assemblies of primitives, shared across our apps"
|
| 5 |
5 |
|
edition.workspace = true
|
| 6 |
6 |
|
rust-version.workspace = true
|
| 13 |
13 |
|
workspace = true
|
| 14 |
14 |
|
|
| 15 |
15 |
|
[dependencies]
|
| 16 |
|
- |
quasi-router = { path = "../quasi-router", version = "0.20.1" }
|
| 17 |
|
- |
makeover-layout = "0.28.0"
|
|
16 |
+ |
quasi-router = { path = "../quasi-router", version = "0.21.0" }
|
|
17 |
+ |
makeover-layout = "0.28.1"
|
| 18 |
18 |
|
|
| 19 |
19 |
|
[dev-dependencies]
|
| 20 |
20 |
|
# A widget's guarantees are claims about what a renderer draws, so they are
|
| 21 |
21 |
|
# tested against a real one rather than by walking the tree the assembly just
|
| 22 |
22 |
|
# built. The webview is the renderer that recognises names today.
|
| 23 |
|
- |
quasi-webview = { path = "../quasi-webview", version = "0.20.1" }
|
| 24 |
|
- |
quasi-http = { path = "../quasi-http", version = "0.20.1" }
|
|
23 |
+ |
quasi-webview = { path = "../quasi-webview", version = "0.21.0" }
|
|
24 |
+ |
quasi-http = { path = "../quasi-http", version = "0.21.0" }
|
| 1 |
1 |
|
[package]
|
| 2 |
2 |
|
name = "quasi-bench"
|
| 3 |
|
- |
version = "0.20.1"
|
|
3 |
+ |
version = "0.21.0"
|
| 4 |
4 |
|
description = "What a described screen costs to render, in time and in allocations"
|
| 5 |
5 |
|
edition.workspace = true
|
| 6 |
6 |
|
rust-version.workspace = true
|
| 22 |
22 |
|
count = ["dep:dhat"]
|
| 23 |
23 |
|
|
| 24 |
24 |
|
[dependencies]
|
| 25 |
|
- |
quasi-router = { path = "../quasi-router", version = "0.20.1" }
|
| 26 |
|
- |
quasi-webview = { path = "../quasi-webview", version = "0.20.1" }
|
| 27 |
|
- |
quasi-tui = { path = "../quasi-tui", version = "0.20.1" }
|
|
25 |
+ |
quasi-router = { path = "../quasi-router", version = "0.21.0" }
|
|
26 |
+ |
quasi-webview = { path = "../quasi-webview", version = "0.21.0" }
|
|
27 |
+ |
quasi-tui = { path = "../quasi-tui", version = "0.21.0" }
|
| 28 |
28 |
|
# `Serves` is the trait carrying `screen` and `fragment`, which is what the
|
| 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 |
|
- |
quasi-http = { path = "../quasi-http", version = "0.20.1" }
|
| 32 |
|
- |
makeover-layout = "0.28.0"
|
|
31 |
+ |
quasi-http = { path = "../quasi-http", version = "0.21.0" }
|
|
32 |
+ |
makeover-layout = "0.28.1"
|
| 33 |
33 |
|
makeover-tui = { version = "0.27.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
|
| 1 |
1 |
|
[package]
|
| 2 |
2 |
|
name = "quasi-http"
|
| 3 |
|
- |
version = "0.20.1"
|
|
3 |
+ |
version = "0.21.0"
|
| 4 |
4 |
|
description = "The http-shaped seam quasi's webview host adapters share: decoding in, a rendered description out"
|
| 5 |
5 |
|
edition.workspace = true
|
| 6 |
6 |
|
rust-version.workspace = true
|
| 13 |
13 |
|
workspace = true
|
| 14 |
14 |
|
|
| 15 |
15 |
|
[dependencies]
|
| 16 |
|
- |
quasi-router = { path = "../quasi-router", version = "0.20.1" }
|
|
16 |
+ |
quasi-router = { path = "../quasi-router", version = "0.21.0" }
|
| 17 |
17 |
|
http = "1.3.1"
|
| 18 |
18 |
|
form_urlencoded = "1.2.2"
|
| 1 |
1 |
|
[package]
|
| 2 |
2 |
|
name = "quasi-immediate"
|
| 3 |
|
- |
version = "0.20.1"
|
|
3 |
+ |
version = "0.21.0"
|
| 4 |
4 |
|
edition = "2024"
|
| 5 |
5 |
|
description = "The immediate-mode renderer for quasi-router: a described screen in, an egui frame out. Immediate mode is the constraint that matters, not the library."
|
| 6 |
6 |
|
license = "MIT"
|
| 12 |
12 |
|
categories = ["gui"]
|
| 13 |
13 |
|
|
| 14 |
14 |
|
[dependencies]
|
| 15 |
|
- |
quasi-router = { path = "../quasi-router", version = "0.20.1" }
|
|
15 |
+ |
quasi-router = { path = "../quasi-router", version = "0.21.0" }
|
| 16 |
16 |
|
# The node drawing, which is the makeover layer's and not this crate's. Every
|
| 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
|
| 1 |
1 |
|
[package]
|
| 2 |
2 |
|
name = "quasi-router"
|
| 3 |
|
- |
version = "0.20.1"
|
|
3 |
+ |
version = "0.21.0"
|
| 4 |
4 |
|
description = "Host-agnostic router: a request in, a renderer-agnostic description out"
|
| 5 |
5 |
|
edition.workspace = true
|
| 6 |
6 |
|
rust-version.workspace = true
|
| 13 |
13 |
|
workspace = true
|
| 14 |
14 |
|
|
| 15 |
15 |
|
[dependencies]
|
| 16 |
|
- |
makeover-layout = "0.28.0"
|
|
16 |
+ |
makeover-layout = "0.28.1"
|