Skip to main content

max / quasi

Follow makeover-layout to 0.42.0, and stop claiming a class makeover owns `Picture` is `Image` now that the borrowed twin it was named around is gone, and `speaks()` came with it, so the three renderer call sites that went through `as_layout()` ask the owned type directly. `FacetValue` follows makeover-layout onto `Nesting`. Also, and not caused by this wave: `RENDERER_OWN` claimed `row-disclose`. makeover-webview has defined it since 0.70.1, but this workspace's lock pinned makeover-webview at 0.70.0, so two crates believed they owned the class and nothing said so. The cascade forced a resolve and the vocabulary test caught it on the first run. The emitted name was correct throughout; only the claim was wrong.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session
https://claude.ai/code/session_01MptwXZ8k65v19rFmdGAyki
Author: Max Johnson <me@maxj.phd> · 2026-09-01 21:04 UTC
Signed with PGP, not checked
Commit: a58bd464d3029281ad8d2da02530ea425f99e2a5
Parent: 1995e32
19 files changed, +81 insertions, -89 deletions
M Cargo.lock +15 -17
@@ -2656,9 +2656,7 @@
2656 2656
2657 2657 [[package]]
2658 2658 name = "makeover-immediate"
2659 - version = "0.42.0"
2660 - source = "registry+https://github.com/rust-lang/crates.io-index"
2661 - checksum = "ec7b9057f4f623299570e7b560d38bae3ca5fe42d13a60a558656f87b4057f36"
2659 + version = "0.43.0"
2662 2660 dependencies = [
2663 2661 "egui",
2664 2662 "egui_extras",
@@ -2668,9 +2666,7 @@
2668 2666
2669 2667 [[package]]
2670 2668 name = "makeover-layout"
2671 - version = "0.41.2"
2672 - source = "registry+https://github.com/rust-lang/crates.io-index"
2673 - checksum = "f99de8062307b884315ffa57696427bfc846227d4b1d8b03ade031cd07c9eb2c"
2669 + version = "0.42.0"
2674 2670
2675 2671 [[package]]
2676 2672 name = "makeover-timing"
@@ -2683,9 +2679,7 @@
2683 2679
2684 2680 [[package]]
2685 2681 name = "makeover-touch"
2686 - version = "0.31.0"
2687 - source = "registry+https://github.com/rust-lang/crates.io-index"
2688 - checksum = "8b59944f2258db046b4c7ea325eaef71a9e681e854432cd88e1355ea891eecc1"
2682 + version = "0.32.0"
2689 2683 dependencies = [
2690 2684 "makeover-geometry",
2691 2685 "makeover-layout",
@@ -2693,9 +2687,7 @@
2693 2687
2694 2688 [[package]]
2695 2689 name = "makeover-tui"
2696 - version = "0.41.0"
2697 - source = "registry+https://github.com/rust-lang/crates.io-index"
2698 - checksum = "3d1ea0f2ab4d28552f7442f01688a8c65b4100a326c8cc79eadb0535a860dbe0"
2690 + version = "0.42.0"
2699 2691 dependencies = [
2700 2692 "makeover",
2701 2693 "makeover-layout",
@@ -2705,9 +2697,7 @@
2705 2697
2706 2698 [[package]]
2707 2699 name = "makeover-webview"
2708 - version = "0.70.0"
2709 - source = "registry+https://github.com/rust-lang/crates.io-index"
2710 - checksum = "ef402e7badce6073d49320837ec3262bfaa6f739561c0f4e27926e94fee29ad0"
2700 + version = "0.71.0"
2711 2701 dependencies = [
2712 2702 "makeover-geometry",
2713 2703 "makeover-layout",
@@ -6267,6 +6257,10 @@
6267 6257 "winnow 1.0.4",
6268 6258 ]
6269 6259
6260 + [[patch.unused]]
6261 + name = "synckit-client"
6262 + version = "0.10.0"
6263 +
6270 6264 [[patch.unused]]
6271 6265 name = "quasi-type"
6272 6266 version = "0.1.3"
@@ -6288,5 +6282,9 @@
6288 6282 version = "0.4.1"
6289 6283
6290 6284 [[patch.unused]]
6291 - name = "synckit-client"
6292 - version = "0.10.0"
6285 + name = "alloy_tui"
6286 + version = "13.0.0"
6287 +
6288 + [[patch.unused]]
6289 + name = "makeover-build"
6290 + version = "0.64.0"
@@ -14,7 +14,7 @@
14 14
15 15 [dependencies]
16 16 quasi-router = { path = "../quasi-router", version = "0.97.0" }
17 - makeover-layout = "0.41.0"
17 + makeover-layout = "0.42"
18 18
19 19 [dev-dependencies]
20 20 # A widget's guarantees are claims about what a renderer draws, so they are
@@ -33,11 +33,11 @@
33 33 # webview is measured through. Taken directly rather than through quasi-webview
34 34 # because a bench calling a trait method should name the trait it calls.
35 35 quasi-http = { path = "../quasi-http", version = "0.97.0" }
36 - makeover-layout = "0.41.0"
36 + makeover-layout = "0.42"
37 37 # The renderer's own escaper, so the staged path fills a hole exactly the way
38 38 # `Node::Text` does and the guarantee is not quietly reimplemented.
39 - makeover-webview = "0.70.0"
40 - makeover-tui = { version = "0.41.0", features = ["theme"] }
39 + makeover-webview = "0.71"
40 + makeover-tui = { version = "0.42", features = ["theme"] }
41 41 # Only to load a bundled theme file. `makeover_tui::Theme` is `#[non_exhaustive]`,
42 42 # so `Theme::from_theme` is the one way to get one, the same reason quasi-tui's
43 43 # tests take this.
@@ -17,7 +17,7 @@
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.42.0"
20 + makeover-immediate = "0.43"
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,4 +13,4 @@
13 13 workspace = true
14 14
15 15 [dependencies]
16 - makeover-layout = "0.41.2"
16 + makeover-layout = "0.42"
@@ -14,13 +14,13 @@
14 14
15 15 [dependencies]
16 16 quasi-router = { path = "../quasi-router", version = "0.97.0" }
17 - makeover-layout = "0.41.0"
17 + makeover-layout = "0.42"
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.41.0", features = ["theme"] }
23 + makeover-tui = { version = "0.42", 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,8 +15,8 @@
15 15 [dependencies]
16 16 quasi-router = { path = "../quasi-router", version = "0.97.0" }
17 17 quasi-http = { path = "../quasi-http", version = "0.97.0" }
18 - makeover-layout = "0.41.0"
19 - makeover-webview = "0.70.0"
18 + makeover-layout = "0.42"
19 + makeover-webview = "0.71"
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 #