Skip to main content

max / quasi

0.48.0: mirror Field::unit makeover-layout 0.33.0's member, and the router declares it independently the way it declares the rest of `Field`. A member that stopped at the borrowed struct would be silently absent from every described screen. `Field::unit(..)` beside `curve(..)`; `with_layout` hands it through, so the three renderers get it without knowing this crate changed. The symbol alone -- where it is drawn and how it is spaced is the renderer's, which is why the description carries neither.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-08-22 00:30 UTC
Signed with PGP, not checked
Commit: b23c0c0f34323a65a611dc5fda74533b0ec5c3c9
Parent: feaaac0
14 files changed, +109 insertions, -62 deletions
M Cargo.lock +28 -22
@@ -2605,7 +2605,9 @@
2605 2605
2606 2606 [[package]]
2607 2607 name = "makeover-immediate"
2608 - version = "0.31.0"
2608 + version = "0.32.0"
2609 + source = "registry+https://github.com/rust-lang/crates.io-index"
2610 + checksum = "437b1e68f0d1ce824f458e623fc901e81f961b97f167c58c9400453f976fc175"
2609 2611 dependencies = [
2610 2612 "egui",
2611 2613 "egui_extras",
@@ -2614,11 +2616,15 @@
2614 2616
2615 2617 [[package]]
2616 2618 name = "makeover-layout"
2617 - version = "0.32.0"
2619 + version = "0.33.0"
2620 + source = "registry+https://github.com/rust-lang/crates.io-index"
2621 + checksum = "7ba9bae28e348ef6df04ddf04222703b5ea680ac2c978f0dce8679e2acbdc5a0"
2618 2622
2619 2623 [[package]]
2620 2624 name = "makeover-touch"
2621 - version = "0.22.1"
2625 + version = "0.23.0"
2626 + source = "registry+https://github.com/rust-lang/crates.io-index"
2627 + checksum = "0f6272302ba50183af43fe35064db861d77b4786ab6f8994ed9bb6c18c57bba0"
2622 2628 dependencies = [
2623 2629 "makeover-geometry",
2624 2630 "makeover-layout",
@@ -2626,7 +2632,9 @@
2626 2632
2627 2633 [[package]]
2628 2634 name = "makeover-tui"
2629 - version = "0.31.0"
2635 + version = "0.32.0"
2636 + source = "registry+https://github.com/rust-lang/crates.io-index"
2637 + checksum = "778fc5d11417d03fa54b43176d63b26d7db397cf05595d1832cbdbdc71a93a48"
2630 2638 dependencies = [
2631 2639 "makeover",
2632 2640 "makeover-layout",
@@ -2635,7 +2643,9 @@
2635 2643
2636 2644 [[package]]
2637 2645 name = "makeover-webview"
2638 - version = "0.54.0"
2646 + version = "0.55.0"
2647 + source = "registry+https://github.com/rust-lang/crates.io-index"
2648 + checksum = "2cd308d279ece9665206044886d0da8762ce9eb81368e0f15a5afb8c0650cb41"
2639 2649 dependencies = [
2640 2650 "makeover-geometry",
2641 2651 "makeover-layout",
@@ -3404,11 +3414,11 @@
3404 3414
3405 3415 [[package]]
3406 3416 name = "quasi"
3407 - version = "0.47.0"
3417 + version = "0.48.0"
3408 3418
3409 3419 [[package]]
3410 3420 name = "quasi-axum"
3411 - version = "0.47.0"
3421 + version = "0.48.0"
3412 3422 dependencies = [
3413 3423 "axum",
3414 3424 "http",
@@ -3422,7 +3432,7 @@
3422 3432
3423 3433 [[package]]
3424 3434 name = "quasi-basics"
3425 - version = "0.47.0"
3435 + version = "0.48.0"
3426 3436 dependencies = [
3427 3437 "makeover-layout",
3428 3438 "quasi-http",
@@ -3432,7 +3442,7 @@
3432 3442
3433 3443 [[package]]
3434 3444 name = "quasi-bench"
3435 - version = "0.47.0"
3445 + version = "0.48.0"
3436 3446 dependencies = [
3437 3447 "dhat",
3438 3448 "makeover",
@@ -3447,7 +3457,7 @@
3447 3457
3448 3458 [[package]]
3449 3459 name = "quasi-http"
3450 - version = "0.47.0"
3460 + version = "0.48.0"
3451 3461 dependencies = [
3452 3462 "form_urlencoded",
3453 3463 "http",
@@ -3456,7 +3466,7 @@
3456 3466
3457 3467 [[package]]
3458 3468 name = "quasi-immediate"
3459 - version = "0.47.0"
3469 + version = "0.48.0"
3460 3470 dependencies = [
3461 3471 "docengine",
3462 3472 "egui",
@@ -3466,7 +3476,7 @@
3466 3476
3467 3477 [[package]]
3468 3478 name = "quasi-notifs"
3469 - version = "0.47.0"
3479 + version = "0.48.0"
3470 3480 dependencies = [
3471 3481 "quasi-router",
3472 3482 "synckit-config",
@@ -3474,7 +3484,7 @@
3474 3484
3475 3485 [[package]]
3476 3486 name = "quasi-router"
3477 - version = "0.47.0"
3487 + version = "0.48.0"
3478 3488 dependencies = [
3479 3489 "makeover-layout",
3480 3490 ]
@@ -3491,7 +3501,7 @@
3491 3501
3492 3502 [[package]]
3493 3503 name = "quasi-tauri"
3494 - version = "0.47.0"
3504 + version = "0.48.0"
3495 3505 dependencies = [
3496 3506 "http",
3497 3507 "quasi-http",
@@ -3504,7 +3514,7 @@
3504 3514
3505 3515 [[package]]
3506 3516 name = "quasi-tui"
3507 - version = "0.47.0"
3517 + version = "0.48.0"
3508 3518 dependencies = [
3509 3519 "docengine",
3510 3520 "makeover",
@@ -3516,7 +3526,7 @@
3516 3526
3517 3527 [[package]]
3518 3528 name = "quasi-webview"
3519 - version = "0.47.0"
3529 + version = "0.48.0"
3520 3530 dependencies = [
3521 3531 "docengine",
3522 3532 "makeover-layout",
@@ -6187,10 +6197,6 @@
6187 6197 "winnow 1.0.4",
6188 6198 ]
6189 6199
6190 - [[patch.unused]]
6191 - name = "synckit-client"
6192 - version = "0.8.1"
6193 -
6194 6200 [[patch.unused]]
6195 6201 name = "kberg"
6196 6202 version = "0.1.0"
@@ -6212,5 +6218,5 @@
6212 6218 version = "0.1.0"
6213 6219
6214 6220 [[patch.unused]]
6215 - name = "makeover-build"
6216 - version = "0.48.0"
6221 + name = "synckit-client"
6222 + version = "0.8.1"
@@ -1,6 +1,6 @@
1 1 [package]
2 2 name = "quasi-axum"
3 - version = "0.47.0"
3 + version = "0.48.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,14 +13,14 @@
13 13 workspace = true
14 14
15 15 [dependencies]
16 - quasi-router = { path = "../quasi-router", version = "0.47.0" }
17 - quasi-http = { path = "../quasi-http", version = "0.47.0" }
16 + quasi-router = { path = "../quasi-router", version = "0.48.0" }
17 + quasi-http = { path = "../quasi-http", version = "0.48.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.47.0" }
23 + quasi-webview = { path = "../quasi-webview", version = "0.48.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,6 +1,6 @@
1 1 [package]
2 2 name = "quasi-basics"
3 - version = "0.47.0"
3 + version = "0.48.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,12 +13,12 @@
13 13 workspace = true
14 14
15 15 [dependencies]
16 - quasi-router = { path = "../quasi-router", version = "0.47.0" }
17 - makeover-layout = "0.32.0"
16 + quasi-router = { path = "../quasi-router", version = "0.48.0" }
17 + makeover-layout = "0.33.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.47.0" }
24 - quasi-http = { path = "../quasi-http", version = "0.47.0" }
23 + quasi-webview = { path = "../quasi-webview", version = "0.48.0" }
24 + quasi-http = { path = "../quasi-http", version = "0.48.0" }
@@ -1,6 +1,6 @@
1 1 [package]
2 2 name = "quasi-bench"
3 - version = "0.47.0"
3 + version = "0.48.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,15 +22,15 @@
22 22 count = ["dep:dhat"]
23 23
24 24 [dependencies]
25 - quasi-router = { path = "../quasi-router", version = "0.47.0" }
26 - quasi-webview = { path = "../quasi-webview", version = "0.47.0" }
27 - quasi-tui = { path = "../quasi-tui", version = "0.47.0" }
25 + quasi-router = { path = "../quasi-router", version = "0.48.0" }
26 + quasi-webview = { path = "../quasi-webview", version = "0.48.0" }
27 + quasi-tui = { path = "../quasi-tui", version = "0.48.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.47.0" }
32 - makeover-layout = "0.32.0"
33 - makeover-tui = { version = "0.31.0", features = ["theme"] }
31 + quasi-http = { path = "../quasi-http", version = "0.48.0" }
32 + makeover-layout = "0.33.0"
33 + makeover-tui = { version = "0.32.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,6 +1,6 @@
1 1 [package]
2 2 name = "quasi-http"
3 - version = "0.47.0"
3 + version = "0.48.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,6 +13,6 @@
13 13 workspace = true
14 14
15 15 [dependencies]
16 - quasi-router = { path = "../quasi-router", version = "0.47.0" }
16 + quasi-router = { path = "../quasi-router", version = "0.48.0" }
17 17 http = "1.3.1"
18 18 form_urlencoded = "1.2.2"
@@ -1,6 +1,6 @@
1 1 [package]
2 2 name = "quasi-immediate"
3 - version = "0.47.0"
3 + version = "0.48.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 +12,12 @@
12 12 categories = ["gui"]
13 13
14 14 [dependencies]
15 - quasi-router = { path = "../quasi-router", version = "0.47.0" }
15 + quasi-router = { path = "../quasi-router", version = "0.48.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.31.0"
20 + makeover-immediate = "0.32.0"
21 21 egui = { version = "0.35", default-features = false }
22 22 # Markdown to text for `Node::Rich`. The same crate the webview renderer takes,
23 23 # reading the same source: what differs is that it can emit markup and this
@@ -1,6 +1,6 @@
1 1 [package]
2 2 name = "quasi-notifs"
3 - version = "0.47.0"
3 + version = "0.48.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,5 +24,5 @@
24 24 describe = ["dep:quasi-router"]
25 25
26 26 [dependencies]
27 - quasi-router = { path = "../quasi-router", version = "0.47.0", optional = true }
27 + quasi-router = { path = "../quasi-router", version = "0.48.0", optional = true }
28 28 synckit-config = { git = "https://makenot.work/git/max/synckit.git", version = "0.2", optional = true }
@@ -1,6 +1,6 @@
1 1 [package]
2 2 name = "quasi-router"
3 - version = "0.47.0"
3 + version = "0.48.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,4 +13,4 @@
13 13 workspace = true
14 14
15 15 [dependencies]
16 - makeover-layout = "0.32.0"
16 + makeover-layout = "0.33.0"