0.81.0: the hint moves down a layer, and a toast leaves before it goes
quasicoherent 8458a6cf: makeover-layout 0.40.0 carries Act::hint now, so
quasi-tui delegates to piece::act_note and quasi-immediate stops applying
on_hover_text outside the widget. Same output from both; what changes is
that a makeover host that is not quasi gets the hint too, which is the
wart being closed -- Field::hint was a layer down the whole time.
quasicoherent 43bdbff7: clock.js sets data-leaving at Dismiss and removes
the node after Motion::Fade, so a toast fades rather than vanishing.
makeover-webview 0.69.0 carries the rule. --motion-fade was written into
every consumer's timing.css and read by nothing in the tree until now.
The removal is a timer and never transitionend: timing.css zeroes the
fade under prefers-reduced-motion, and a zero-length transition may fire
no event at all -- so the one reader a listener could strand is exactly
the one who asked for less motion.
quasi-tui and quasi-immediate still remove at Dismiss, and say why in
their own headers: neither has a transition, and a hidden 300ms on a
terminal toast is a longer message rather than a softer one.
- Co-Authored-By
- Claude Opus 5 (1M context) <noreply@anthropic.com>
- Claude-Session
- https://claude.ai/code/session_0136sbU8F6i9WrcvA3wn4Lgk
17 files changed,
+177 insertions,
-97 deletions
| 2605 |
2605 |
|
|
| 2606 |
2606 |
|
[[package]]
|
| 2607 |
2607 |
|
name = "makeover-immediate"
|
| 2608 |
|
- |
version = "0.40.0"
|
|
2608 |
+ |
version = "0.41.0"
|
| 2609 |
2609 |
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
| 2610 |
|
- |
checksum = "ebf95b374f071aac2094c22d1d90ee565ae920adb9950195c072352ee4da2f01"
|
|
2610 |
+ |
checksum = "5fecbd8dd999dfab40e6c642f2adf76196f46d31096557c8a83405df61e2884b"
|
| 2611 |
2611 |
|
dependencies = [
|
| 2612 |
2612 |
|
"egui",
|
| 2613 |
2613 |
|
"egui_extras",
|
| 2617 |
2617 |
|
|
| 2618 |
2618 |
|
[[package]]
|
| 2619 |
2619 |
|
name = "makeover-layout"
|
| 2620 |
|
- |
version = "0.39.0"
|
|
2620 |
+ |
version = "0.40.0"
|
| 2621 |
2621 |
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
| 2622 |
|
- |
checksum = "253ab4630d39ec39233020b81024773da52e93b15544217034ce6ca083ba9227"
|
|
2622 |
+ |
checksum = "c2f7ecec1a7e3b5026f731aec88607a5856fc21945cca478d4130d08724deb96"
|
| 2623 |
2623 |
|
|
| 2624 |
2624 |
|
[[package]]
|
| 2625 |
2625 |
|
name = "makeover-timing"
|
| 2632 |
2632 |
|
|
| 2633 |
2633 |
|
[[package]]
|
| 2634 |
2634 |
|
name = "makeover-touch"
|
| 2635 |
|
- |
version = "0.29.0"
|
|
2635 |
+ |
version = "0.30.0"
|
| 2636 |
2636 |
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
| 2637 |
|
- |
checksum = "e49a886415501f073a2e24e21c07970ac8be6e0549ca0a2986bce5062b9fa8b1"
|
|
2637 |
+ |
checksum = "9c2111c223a33cb980a2cdc74ab784c428064bcf820a8e89c3cfb06fd6801f21"
|
| 2638 |
2638 |
|
dependencies = [
|
| 2639 |
2639 |
|
"makeover-geometry",
|
| 2640 |
2640 |
|
"makeover-layout",
|
| 2642 |
2642 |
|
|
| 2643 |
2643 |
|
[[package]]
|
| 2644 |
2644 |
|
name = "makeover-tui"
|
| 2645 |
|
- |
version = "0.39.0"
|
|
2645 |
+ |
version = "0.40.0"
|
| 2646 |
2646 |
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
| 2647 |
|
- |
checksum = "b5fd2983f561c0a1698508a35e12a16330b0706469dc48dcb2742ea5708e6a16"
|
|
2647 |
+ |
checksum = "4aa7a3663b98a7e52b31a57127fe3e32f641d9c5cae593f5656f449a05903d53"
|
| 2648 |
2648 |
|
dependencies = [
|
| 2649 |
2649 |
|
"makeover",
|
| 2650 |
2650 |
|
"makeover-layout",
|
| 2654 |
2654 |
|
|
| 2655 |
2655 |
|
[[package]]
|
| 2656 |
2656 |
|
name = "makeover-webview"
|
| 2657 |
|
- |
version = "0.68.0"
|
|
2657 |
+ |
version = "0.69.0"
|
| 2658 |
2658 |
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
| 2659 |
|
- |
checksum = "d8ca6d6b1e336b2b55a7b5ee96e15901300081e9bd7e2331e89c1bcd9bdadfbe"
|
|
2659 |
+ |
checksum = "78d0f434b4a70830f0c647d1d67bcb19ef9e59e6ded2577bcc45901c0d1e2b37"
|
| 2660 |
2660 |
|
dependencies = [
|
| 2661 |
2661 |
|
"makeover-geometry",
|
| 2662 |
2662 |
|
"makeover-layout",
|
| 3425 |
3425 |
|
|
| 3426 |
3426 |
|
[[package]]
|
| 3427 |
3427 |
|
name = "quasi"
|
| 3428 |
|
- |
version = "0.80.0"
|
|
3428 |
+ |
version = "0.81.0"
|
| 3429 |
3429 |
|
|
| 3430 |
3430 |
|
[[package]]
|
| 3431 |
3431 |
|
name = "quasi-axum"
|
| 3432 |
|
- |
version = "0.80.0"
|
|
3432 |
+ |
version = "0.81.0"
|
| 3433 |
3433 |
|
dependencies = [
|
| 3434 |
3434 |
|
"axum",
|
| 3435 |
3435 |
|
"http",
|
| 3443 |
3443 |
|
|
| 3444 |
3444 |
|
[[package]]
|
| 3445 |
3445 |
|
name = "quasi-basics"
|
| 3446 |
|
- |
version = "0.80.0"
|
|
3446 |
+ |
version = "0.81.0"
|
| 3447 |
3447 |
|
dependencies = [
|
| 3448 |
3448 |
|
"makeover-layout",
|
| 3449 |
3449 |
|
"quasi-http",
|
| 3453 |
3453 |
|
|
| 3454 |
3454 |
|
[[package]]
|
| 3455 |
3455 |
|
name = "quasi-bench"
|
| 3456 |
|
- |
version = "0.80.0"
|
|
3456 |
+ |
version = "0.81.0"
|
| 3457 |
3457 |
|
dependencies = [
|
| 3458 |
3458 |
|
"dhat",
|
| 3459 |
3459 |
|
"makeover",
|
| 3468 |
3468 |
|
|
| 3469 |
3469 |
|
[[package]]
|
| 3470 |
3470 |
|
name = "quasi-http"
|
| 3471 |
|
- |
version = "0.80.0"
|
|
3471 |
+ |
version = "0.81.0"
|
| 3472 |
3472 |
|
dependencies = [
|
| 3473 |
3473 |
|
"form_urlencoded",
|
| 3474 |
3474 |
|
"http",
|
| 3477 |
3477 |
|
|
| 3478 |
3478 |
|
[[package]]
|
| 3479 |
3479 |
|
name = "quasi-immediate"
|
| 3480 |
|
- |
version = "0.80.0"
|
|
3480 |
+ |
version = "0.81.0"
|
| 3481 |
3481 |
|
dependencies = [
|
| 3482 |
3482 |
|
"docengine",
|
| 3483 |
3483 |
|
"egui",
|
| 3488 |
3488 |
|
|
| 3489 |
3489 |
|
[[package]]
|
| 3490 |
3490 |
|
name = "quasi-notifs"
|
| 3491 |
|
- |
version = "0.80.0"
|
|
3491 |
+ |
version = "0.81.0"
|
| 3492 |
3492 |
|
dependencies = [
|
| 3493 |
3493 |
|
"quasi-router",
|
| 3494 |
3494 |
|
"synckit-config",
|
| 3496 |
3496 |
|
|
| 3497 |
3497 |
|
[[package]]
|
| 3498 |
3498 |
|
name = "quasi-router"
|
| 3499 |
|
- |
version = "0.80.0"
|
|
3499 |
+ |
version = "0.81.0"
|
| 3500 |
3500 |
|
dependencies = [
|
| 3501 |
3501 |
|
"makeover-layout",
|
| 3502 |
3502 |
|
]
|
| 3513 |
3513 |
|
|
| 3514 |
3514 |
|
[[package]]
|
| 3515 |
3515 |
|
name = "quasi-tauri"
|
| 3516 |
|
- |
version = "0.80.0"
|
|
3516 |
+ |
version = "0.81.0"
|
| 3517 |
3517 |
|
dependencies = [
|
| 3518 |
3518 |
|
"http",
|
| 3519 |
3519 |
|
"quasi-http",
|
| 3526 |
3526 |
|
|
| 3527 |
3527 |
|
[[package]]
|
| 3528 |
3528 |
|
name = "quasi-tui"
|
| 3529 |
|
- |
version = "0.80.0"
|
|
3529 |
+ |
version = "0.81.0"
|
| 3530 |
3530 |
|
dependencies = [
|
| 3531 |
3531 |
|
"docengine",
|
| 3532 |
3532 |
|
"makeover",
|
| 3539 |
3539 |
|
|
| 3540 |
3540 |
|
[[package]]
|
| 3541 |
3541 |
|
name = "quasi-webview"
|
| 3542 |
|
- |
version = "0.80.0"
|
|
3542 |
+ |
version = "0.81.0"
|
| 3543 |
3543 |
|
dependencies = [
|
| 3544 |
3544 |
|
"docengine",
|
| 3545 |
3545 |
|
"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 |
+ |
[[patch.unused]]
|
|
6219 |
+ |
name = "quasi-type"
|
|
6220 |
+ |
version = "0.1.3"
|
|
6221 |
+ |
|
| 6214 |
6222 |
|
[[patch.unused]]
|
| 6215 |
6223 |
|
name = "kberg"
|
| 6216 |
6224 |
|
version = "0.1.0"
|
| 6226 |
6234 |
|
[[patch.unused]]
|
| 6227 |
6235 |
|
name = "tagtree"
|
| 6228 |
6236 |
|
version = "0.4.1"
|
| 6229 |
|
- |
|
| 6230 |
|
- |
[[patch.unused]]
|
| 6231 |
|
- |
name = "synckit-client"
|
| 6232 |
|
- |
version = "0.10.0"
|
| 6233 |
|
- |
|
| 6234 |
|
- |
[[patch.unused]]
|
| 6235 |
|
- |
name = "quasi-type"
|
| 6236 |
|
- |
version = "0.1.3"
|
| 1 |
1 |
|
[package]
|
| 2 |
2 |
|
name = "quasi-axum"
|
| 3 |
|
- |
version = "0.80.0"
|
|
3 |
+ |
version = "0.81.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.80.0" }
|
| 17 |
|
- |
quasi-http = { path = "../quasi-http", version = "0.80.0" }
|
|
16 |
+ |
quasi-router = { path = "../quasi-router", version = "0.81.0" }
|
|
17 |
+ |
quasi-http = { path = "../quasi-http", version = "0.81.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.80.0" }
|
|
23 |
+ |
quasi-webview = { path = "../quasi-webview", version = "0.81.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.80.0"
|
|
3 |
+ |
version = "0.81.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.80.0" }
|
| 17 |
|
- |
makeover-layout = "0.39.0"
|
|
16 |
+ |
quasi-router = { path = "../quasi-router", version = "0.81.0" }
|
|
17 |
+ |
makeover-layout = "0.40.0"
|
| 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.80.0" }
|
| 24 |
|
- |
quasi-http = { path = "../quasi-http", version = "0.80.0" }
|
|
23 |
+ |
quasi-webview = { path = "../quasi-webview", version = "0.81.0" }
|
|
24 |
+ |
quasi-http = { path = "../quasi-http", version = "0.81.0" }
|
| 1 |
1 |
|
[package]
|
| 2 |
2 |
|
name = "quasi-bench"
|
| 3 |
|
- |
version = "0.80.0"
|
|
3 |
+ |
version = "0.81.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.80.0" }
|
| 26 |
|
- |
quasi-webview = { path = "../quasi-webview", version = "0.80.0" }
|
| 27 |
|
- |
quasi-tui = { path = "../quasi-tui", version = "0.80.0" }
|
|
25 |
+ |
quasi-router = { path = "../quasi-router", version = "0.81.0" }
|
|
26 |
+ |
quasi-webview = { path = "../quasi-webview", version = "0.81.0" }
|
|
27 |
+ |
quasi-tui = { path = "../quasi-tui", version = "0.81.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.80.0" }
|
| 32 |
|
- |
makeover-layout = "0.39.0"
|
| 33 |
|
- |
makeover-tui = { version = "0.39.0", features = ["theme"] }
|
|
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"] }
|
| 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.
|
| 1 |
1 |
|
[package]
|
| 2 |
2 |
|
name = "quasi-http"
|
| 3 |
|
- |
version = "0.80.0"
|
|
3 |
+ |
version = "0.81.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.80.0" }
|
|
16 |
+ |
quasi-router = { path = "../quasi-router", version = "0.81.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.80.0"
|
|
3 |
+ |
version = "0.81.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.80.0" }
|
|
15 |
+ |
quasi-router = { path = "../quasi-router", version = "0.81.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
|
| 19 |
19 |
|
# renderer instead of one copy per app.
|
| 20 |
|
- |
makeover-immediate = "0.40.0"
|
|
20 |
+ |
makeover-immediate = "0.41.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
|
| 1 |
1 |
|
[package]
|
| 2 |
2 |
|
name = "quasi-notifs"
|
| 3 |
|
- |
version = "0.80.0"
|
|
3 |
+ |
version = "0.81.0"
|
| 4 |
4 |
|
description = "Declared notification kinds and the registry that holds them: what a notification says and what it is for, apart from how it reaches a person"
|
| 5 |
5 |
|
edition.workspace = true
|
| 6 |
6 |
|
rust-version.workspace = true
|
| 24 |
24 |
|
describe = ["dep:quasi-router"]
|
| 25 |
25 |
|
|
| 26 |
26 |
|
[dependencies]
|
| 27 |
|
- |
quasi-router = { path = "../quasi-router", version = "0.80.0", optional = true }
|
|
27 |
+ |
quasi-router = { path = "../quasi-router", version = "0.81.0", optional = true }
|
| 28 |
28 |
|
synckit-config = { git = "https://makenot.work/git/max/synckit.git", version = "0.2", optional = true }
|